打开一个文件
使用open函数打开一个文件。
第一个参数是文件的路径,如果文件在程序当前路径下,可以只写文件名。
file = open("filename.txt")
可以通过添加第二个参数来决定文件的打开模式。
# 写模式,可以写文件内容,如果文件不存在,会新建一个文件。
open("filename.txt", "w")
# 读模式,只能读文件内容,这是默认模式。
open("filename.txt", "r")
open("filename.txt")
# 扩展模式,可以在文件末尾添加新内容
open("filename.txt", "a")
# 结合b,表示以二进制模式打开文件,被用来打开非文本文件,比如图片和音频文件。
open("filename.txt", "wb")
关闭一个文件
打开了一个文件之后,操作完毕要关闭它。
file.close()
读一个文件
read函数
一个被打开的文件可以用read函数读取文件的内容。
file = open("filename.txt", "r")
content = file.read()
print(content)
file.close()
直接使用read()会读取文件的全部内容。如果想要读取指定字节长度length的文件内容,可以使用read(length),如果连续使用,则会接着上次取到的位置接着往下读。此时如果再接着使用一个read(),那么会将文件剩余部分全部读出。等所有内容都被读完后,任何试图继续访问文件的操作都会返回空字符串。
readlines函数
可以使用readlines函数读取文件,会返回一个以文件每行内容为元素的列表。
file = open("filename.txt", "r")
print(file.readlines())
file.close()
写一个文件
可以用write函数向文件里写一个字符串。
file = open("newfile.txt", "w")
file.write(一个字符串)
file.close()
在写模式下,文件原来存在的内容会被删除。
write函数可以返回向文件中写入的字节数。
file = open("newfile.txt", "w")
amount_written = file.write(一个字符串)
print(amount_written)
file.close()
使用文件小tips
和try&finally结合
为了避免资源浪费,我们可以结合try和finally确保一个程序被打开后总是能关闭,即使是在有错误发生的情况下。
try:
f = open("filename.txt")
一些操作
finally:
f.close()
和with函数结合
文件会自动在with函数体结尾处关闭,即使中间发生错误。
with open("filename.txt") as f:
print(f.read())