你可以通过创建一个属于 file
类的对象并适当使用它的 read
、 readline
、 write
方法来打开或使用文件,并对它们进行读取或写入。读取或写入文件的能力取决于你指定以何种方式打开文件。最后,当你完成了文件,你可以调用 close
方法来告诉 Python 我们已经完成了对该文件的使用。
案例(保存为 io_using_file.py ) :
poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
# 打开文件以编辑('w'riting)
f = open('poem.txt','w')
# 向文件中编写文本
f.write(poem)
# 关闭文件
f.close()
# 如果没有特别指定,
# 将假定启用默认的阅读('r'ead) 模式
f = open('poem.txt')
while True:
line = f.readline()
# 零长度指示 EOF
if len(line)==0:
break
# 每行(`line`) 的末尾
# 都已经有了换行符
# 因为它是从一个文件中进行读取的
print(line, end=' ')
# 关闭文件
f.close()
输出
$ python3 io_using_file.py
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
它是如何工作的
首先,我们使用内置的 open 函数并指定文件名以及我们所希望使用的打开模式来打开一个文件。打开模式可以是阅读模式('r'
) ,写入模式('w'
) 和追加模式('a'
) 。我们还可以选择是通过文本模式('t'
) 还是二进制模式('b'
) 来读取、写入或追加文本。实际上还有其它更多的模式可用, help(open)
会给你有关它们的更多细节。在默认情况下, open() 会将文件视作文本(text
) 文件,并以阅读(read
) 模式打开它。
在我们的案例中,我们首先采用写入模式打开文件并使用文件对象的 write
方法来写入文件,并在最后通过 close
关闭文件。
接下来,我们重新在阅读模式下打开同一个文件。我们不需要特别指定某种模式,因为“阅读文本文件”是默认的。我们在循环中使用 readline
方法来读取文件的每一行。这一方法将会一串完整的行,其中在行末尾还包含了换行符。当一个空字符串返回时,它表示我们已经到达了文件末尾,并且通过 break
退出循环。
最后,我们通过 close
关闭了文件。