Python文件I/O函数:如何读写文本文件和二进制文件
在Python语言中,文件I/O操作是非常普遍的。在本文中,我们将会讨论两种类型的文件I/O操作:文本文件和二进制文件的操作。
一、文本文件读写
文本文件是指由字符组成的文件,其中包含的字符采用某种编码格式存储。在Python中,可以使用多种函数来读写文本文件,包括open(), read(), write()等函数。
1. 打开文件
在Python中,使用open()函数来打开文件。open()函数的语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,file表示需要打开的文件名;mode表示打开文件的模式,包括:r只读模式,w写入模式,a追加模式等等;encoding表示文件的编码格式,如UTF-8等。
例如,在读取文本文件时,可以采用如下代码:
f = open("sample.txt", "r", encoding="UTF-8")
这将打开名为sample.txt的文本文件,使用UTF-8编码格式读取其中的内容。
2. 读取文件内容
打开文件之后,可以使用read()函数来读取文件中的内容。read()函数的语法如下:
f.read(size=-1)
其中,size表示需要读取的字节数,如果不指定,则读取整个文件。
例如,可以使用如下代码来读取文件中的内容:
content = f.read()
这将读取整个文件内容,并将其存储在content变量中。
3. 写入文件内容
写入文件内容需要使用write()函数。write()函数的语法如下:
f.write(s)
其中,s表示需要写入的字符串。
例如,可以使用如下代码来向文件中写入一些内容:
f.write("Hello World!")
这将向当前文件中写入字符串"Hello World!"。
4. 关闭文件
在进行文件I/O操作之后,需要关闭文件。可以使用close()函数来关闭文本文件。close()函数的语法如下:
f.close()
例如,可以使用如下代码来关闭文件:
f.close()
二、二进制文件读写
二进制文件是指由二进制数据组成的文件,其中包含的每个字节都有特定的含义。在Python中,可以使用多种函数来读写二进制文件,包括open(), read(), write()等函数。
1. 打开文件
打开二进制文件和打开文本文件一样,使用open()函数即可。在打开二进制文件时,需要设置mode参数为"rb",表示以二进制模式读取文件。
例如,在读取二进制文件时,可以采用如下代码:
f = open("sample.bin", "rb")
这将打开名为sample.bin的二进制文件,以二进制模式读取其中的内容。
2. 读取文件内容
读取二进制文件的内容也需要使用read()函数,与读取文本文件不同的是,read()函数返回的是一个bytes对象,而不是一个字符串对象。
例如,可以使用如下代码来读取文件中的内容:
content = f.read()
这将读取整个文件内容,并将其存储在content变量中,content的类型是bytes。
3. 写入文件内容
写入二进制文件内容需要使用write()函数。write()函数的语法与文本文件中的相同。
例如,可以使用如下代码来向文件中写入一些内容:
f.write(b"\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")
这将向当前文件中写入一个bytes对象。
4. 关闭文件
进行文件I/O操作之后,需要关闭文件。与文本文件相同,可以使用close()函数来关闭文件。close()函数的语法与文本文件中的相同。
例如,可以使用如下代码来关闭文件:
f.close()
总结
Python的文件I/O操作是非常方便和灵活的,支持多种类型的文件操作。在进行文件读写操作时,需要注意文件的编码格式和打开模式,同时还需要及时关闭文件避免资源泄漏问题。希望本文能够帮助读者掌握Python文件I/O操作的相关知识。
