欢迎访问宙启技术站
智能推送

如何使用Python函数来创建和读取文件

发布时间:2023-06-25 22:38:00

在Python中,文件操作是一个非常重要的部分。通过文件操作,我们可以创建、读取、写入和删除文件,以及对这些文件进行各种操作。在本文中,我们将介绍如何使用Python函数来创建和读取文件。

1. 创建文件

在Python中,我们可以使用open()函数来创建文件。open()函数的语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中,

file:要打开的文件名或路径。

mode:打开文件的模式。可选值有'r'(默认值,表示只读模式)、'w'(表示写入模式,如果文件已存在,将被覆盖)、'x'(表示写入模式,如果文件已存在,则会引发FileExistsError异常)、'a'(表示追加模式,在文件的末尾添加内容)、'b'(表示二进制模式)、't'(表示文本模式)。

buffering:缓冲区大小。可选值有0(表示不启用缓冲,直接输出)和大于1的正整数(表示缓冲区大小)。

encoding:文件的编码方式。可选值有GBK、UTF-8等。

errors:错误处理。可选值有'ignore'(忽略错误)、'replace'(用'?替换错误字符)等。

newline:可选的换行符,如果未指定则使用默认值'

'。

closefd:是否关闭文件描述符,默认为True。

opener:一个可调用对象,用于打开文件。默认为None。

以下是一个创建文件的示例:

# 创建一个文本文件(如果文件不存在则创建)
f = open('test.txt','w')
f.write('Hello, world!')
f.close()

# 创建一个二进制文件
f = open('test.bin','wb')
f.write(b'Hello, world!')
f.close()

2. 读取文件

我们可以使用open()函数打开文件,并使用read()函数读取文件内容。read()函数的语法如下:

read(size=-1)

其中,

size:要读取的字节数。如果未指定,则读取整个文件。

以下是一个读取文件的示例:

# 读取文本文件
f = open('test.txt','r')
content = f.read()
print(content)
f.close()

# 读取二进制文件
f = open('test.bin','rb')
content = f.read()
print(content)
f.close()

在读取文本文件时,f.read()会返回一个字符串类型的变量。在读取二进制文件时,f.read()会返回一个bytes类型的变量。

除了使用read()函数读取整个文件内容之外,我们还可以使用readline()函数逐行读取文件内容。readline()函数的语法如下:

readline(size=-1)

其中,

size:要读取的字节数。如果未指定,则读取当前行的剩余部分。

以下是一个逐行读取文件的示例:

# 逐行读取文本文件
f = open('test.txt','r')
line = f.readline()
while line:
    print(line)
    line = f.readline()
f.close()

# 逐行读取二进制文件(不推荐)
f = open('test.bin','rb')
byte = f.read(1)
while byte:
    print(byte)
    byte = f.read(1)
f.close()

在逐行读取文本文件时,f.readline()会返回一个字符串类型的变量。在逐行读取二进制文件时,我们不建议使用此方法。因为,二进制文件中可能包含换行符(如'\r

'),它们并不是真正的行结束符。这样,我们就无法准确地逐行读取二进制文件。