1. 打开文件 open()
"""
open(filename [, mode]) -> value
filename:可以是文件的绝对路径和相对路径
mode:
1.mode=r 读(read),默认的模式
2.mode=w 写(write)。若文件不存在,则新建一个文件;若文件存在,清空文件并从头开始写
3.mode=a 追加(append),在文件末尾接着写
4.r, w, a后加上b,表示读写追加二进制文件,比如视频和音频文件。
5.r或w后加上+,表示即可以读也可以写文件
"""
# read mode
open("filename.txt", "r")
open("filename.txt", "rb") # binary file
# write mode
open("filename.txt", "w")
open("filename.txt", "wb")
# read and write mode
open("filename.txt", "w+")
open("filename.txt", "r+")
#append mode
open("filename.txt", "a")
open("filename.txt", "ap")
2. 关闭文件 f.close()
f = open("filename.txt", "w") # f是一个文件对象
f.close()
3. 读取文件 f.read(); f.readlines(); f.readline()
# 读取文件的所有内容,返回字符串
f = open("filename.txt", "r")
cont = f.read() # type(cont) = str
print(cont)
file.close()
# 读取文件所有内容,返回列表,文件的每一行对应于列表的一个元素
f = open("filename.txt", "r")
conts = f.readlines()
for cont in conts:
print(cont) # type(cont) = str, cont最后的字符是\n
# 一次读取一行
f = open("filename.txt")
cont = f.readline()
print(cont)
cont = f.readline()
print(cont)
f.close()
4. 写文件 f.write()
# 若要写的不是字符串,要先将其转换为字符串
msg = "hello world"
f = open("filename.txt", "w")
len_written = f.write(msg) # f.write() 返回所写内容的长度
f.close()
5. 异常检测:若程序运行过程中出现异常,文件可以无法正常关闭。所以使用try和finally语句可以使确保文件一定能关闭。
try:
f = open("filename.txt")
print(f.read())
finally:
f.close()
6. 5的替代方案是使用with语句,在with语句的结尾文件会自动关闭。
with open("filename.txt") as f:
print(f.read())