Python 基础知识之文件基本操作

文件的几种模式:
r 表示文件只读,指针默认会在文件的开头
w 表示文件可写,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
a 表示文件可追加,写入文件时不覆盖已有内容,在文件最后追加
r+ 读写模式,写文件时默认追加在文件开始位置
w+ 读写模式,文件不存在时创建,存在时清除之前的内容然后写入
a+ 追加读模式,打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

f=open('test_file.txt','r',encoding='UTF-8') #open表示打开文件,r表示以只读方式打开
f=open(r'G:\test\python\claas\week2\day2\test_file.txt','r',encoding='UTF-8') #如果文件不在当前路径下要绝对路径或相对路径,否则找不到文件,路径前加个r避免路径被转义
f.read() 表示读取文件的所有内容,如果read中带参数5,f.read(5)表示读取前5个字符
f.readline() 表示读取文件的一行
f.readlines() 读取文件的所有行,返回的是一个列表
f.close() 表示关闭文件
f.tell() #查找当前光标所在的位置,如果是英文字符,一个字符代表一个,如果是中文,一个字符代表3个
f.seek(4,0) #表示调整光标的位置,4代表偏移量,0代表从哪个位置开始偏移;
0代表文件的开始,1代表文件的当前位置,2代表文件的末尾位置

f.write("test123") #表示写入文件内容,内容先在缓存中,等文件close后写入磁盘
f.flush() #表示刷新内存,将数据及时写入到磁盘
f.truncate(5) 表示截取文件中截取前5个字符,后面的删除 只有w和a模式才可以

with 方式打开文件方法,好处退出with代码块时自动关闭文件
with open('test.txt','r') as f:
f.read()

with 方式可以同时打开两个文件进行操作
with open('test.txt','r') as f,open('log','w') as f2:
for line in f:
f2.write(line)

打印文件的所有内容几种方式:
1) f.read()
2) f.redlines()
3) 使用for循环(推荐方法三,for 内部将f对象做成迭代器,使用时才取,不占内存)
for i in f:
print(i.rstrip()) #i.rstrip() 表示去掉每行最后的换行符


猜你喜欢

转载自www.cnblogs.com/hellen-2018/p/9498602.html
今日推荐