python文件操作(1)文件读写
- 创建与打开文件:
file = open("filename","mode",buffering)
filename:使用“ ”或‘ ’括起来。与.py文件在同一路径可直接写文件名。否则要完整路径(加上转义字符)。
mode:打开模式。
r:只读模式,指针放在文件开头。
rb:以二进制格式打开文件,采用只读模式,指针放在文件开头,一般用于非文本文件,如图片声音。
r+:打开文件后读取文件内容。也可以写入新的内容覆盖。
rb+:以二进制格式打开文件,采用读写模式,指针放在文件开头,一般用于非文本文件,如图片声音。
w:为以只写模式打开文件。
wb:二进制,只写。
w+:打开文件后清空原有内容使其变成一个空文件,对这个空文件有读写权限。
wb+:以二进制打开文件,并具有读写权限。
a:为追加模式,如果文件存在,指针在文件结尾(新内容在原内容之后),否则创建新内容写入。
ab:二进制追加。
a+:读写模式打开。
ab+:二进制追加读写。
buffering:(可选)用于指定文件的缓冲模式,0表示不缓存,1表示缓存,大于1表示缓冲区大小。默认缓存。
打开UTF-8编码的文件可以使用如下代码。
file = open('filename.txt','r',encoding='utf-8')
- 关闭文件
#直接关闭
file.close()
#用with open,with语句结束文件会自动关闭
with open("123.txt",'w') as file:
- 写入内容
file.write(string)
#mode为w 或 a
写入内容后必须关闭才可以将写入内容保存到磁盘。
也可以调用flush()方法在不关闭的情况下将缓冲区的内容写入文件。
4.读取文件。
file.seek(offset,whence)
offset:指定移动字符个数。
whence:(可选参数)指定从什么位置开始计算。0从头,1从当前,2从结尾。默认从头。
注意:若没有采用b模式(即rb)那么只允许从文件开头计算。
file.read(size)#若不指定size即为全部读取。
file.readline()#读取一行
file.readlines()#读取全部行,反回每一行的一个列表。
示例展示
以《春晓》为例
print("\n","="*10,"春晓","="*10,"\n")#在终端显示标题
file = open("chunxiao.txt",'w')
file.write("《春晓》\n")
file.write("春眠不觉晓,\n")
file.write("处处闻啼鸟.\n")
file.write("夜来风雨声,\n")
file.write("花落知多少.\n")
file.close()
with open("chunxiao.txt",'r') as file:
number = 0
while True:
number += 1
line = file.readline()
if line =="":
break
print(number,line,end = "\n")
print("\n","="*10,"春晓","="*10)
就这么多了。谢谢大家浏览本篇文章。
python文件操作2,将为大家带来目录操作的讲解。有疑问的欢迎留言