一、文件读取
对于Python的文件读取操作,我们可以使用open()函数来打开一个文件,然后将其读取到内存中。在调用open()函数时需要指定文件名以及文件打开的方式。读取文件的方式有两种:文本模式和二进制模式。
文本模式下的打开方式:
>>> f = open('file.txt', 'r')
这里的'r'表示读取模式;如何文件不存在也会报错,你也可以使用'w'来表示写入模式,如果文件不存在则会新建;使用'a'来表示追加模式,则表示每次写入时都会在文件的结尾处进行追加。
二进制模式下的打开方式:
>>> f = open('file.txt', 'rb')
这里的'rb'表示二进制读取模式;在读写图片、视频等二进制数据时,需要使用二进制模式。
如果文件已经打开,则会报错,因此我们需要在文件读写完毕后,记得关闭文件。
f.close()
二、文件写入
文件写入是将程序中的数据写入到文件中,同样也是使用open()函数打开指定的文件,然后使用write()方法进行写入操作。
>>> f = open('file.txt', 'w')
>>> f.write('Hello world!')
>>> f.close()
写入内容在file.txt文件中为:Hello world!
三、读写文件偏移量
在对文件进行读写操作时,文件中的每一位都有一个位置偏移量,我们可以使用seek()方法进行定位。例如,在文本文件中,每个英文字符占用一个字节长度,我们需要将读取文件的位置每次向后偏移一个字节长度。
>>> f = open('file.txt', 'r')
>>> f.read(5)
'Hello'
>>> f.seek(0)
0
>>> f.read(2)
'He'
>>> f.close()
这里的f.read(5)表示读取前5个字符;f.seek(0)表示将读取的位置置为0,即文件的起始位置;f.read(2)表示再次读取文件前2个字符。
四、with语句处理文件
为了避免忘记关闭文件或者发生意外时的异常处理,我们可以使用with语句去打开文件,以便在处理完成后,自动将文件关闭。
with open('file.txt', 'r') as f:
print(f.read())
这里的with语句可以在文件读写完成后自动关闭文件。如果读写文件时没有出现异常,则自动文件关闭。如果出现了异常,则还是需要人工将文件关闭。
五、代码示例
将上述的文件读取、文件写入、读写文件偏移量、with语句处理文件的内容集成在一起:
with open('file.txt', 'w') as f:
f.write('Hello world!')
f.seek(6)
f.write('Python')
with open('file.txt', 'r') as f:
print(f.read())
在文件读写操作时,需仔细检查文件打开的方式和文件的路径,以避免不必要的麻烦。这里的示例代码中包含文件的多种操作方式,可以在实际使用时灵活运用。