7.2.1. 文件对象方法本节中的示例都默认文件对象 要读取文件内容,需要调用 >>> f.read()
'This is the entire file.\n'
>>> f.read()
''
>>> f.readline()
'This is the first line of the file.\n'
>>> f.readline()
'Second line of the file\n'
>>> f.readline()
''
你可以循环遍历文件对象来读取文件中的每一行。这是一种内存高效、快速,并且代码简介的方式: >>> for line in f:
... print(line, end='')
...
This is the first line of the file.
Second line of the file
如果你想把文件中的所有行读到一个列表中,你也可以使用
>>> f.write('This is a test\n')
15
想要写入其他非字符串内容,首先要将它转换为字符串: >>> value = ('the answer', 42)
>>> s = str(value)
>>> f.write(s)
18
>>> f = open('workfile', 'rb+')
>>> f.write(b'0123456789abcdef')
16
>>> f.seek(5) # Go to the 6th byte in the file
5
>>> f.read(1)
b'5'
>>> f.seek(-3, 2) # Go to the 3rd byte before the end
13
>>> f.read(1)
b'd'
在文本文件中(没有以 当你使用完一个文件时,调用 >>> f.close()
>>> f.read()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: I/O operation on closed file
用关键字 with 处理文件对象是个好习惯。它的先进之处在于文件用完后会自动关闭,就算发生异常也没关系。它是 try-finally 块的简写: >>> with open('workfile', 'r') as f:
... read_data = f.read()
>>> f.closed
True
文件对象还有一些不太常用的附加方法,比如 |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-9-8 09:46 , Processed in 0.024366 second(s), 17 queries .