时间:2020-11-11 12:00:11 | 栏目:Python代码 | 点击:次
python 文件的基本操作 菜中菜
文件操作
open():打开
file:文件的位置(路径)
mode:操作文件模式
encoding:文件编码方式
f :文件句柄 f = open("1.txt",mode = 'r',encoding = 'utf-8') print(f.read()) f.close
1.文件操作模式:
r,w,a(重要)
rb,wb,ab(次要)
r+,w+,a+
1.1 r/w/a
1. r操作:
f = open('1.txt','r') print(f.read()) #全部读取 print(f.read(5))#按照字符进行读取,前5个 print(f.readline())#读取一行内容,自动换行 print(f.readline().strip())#拖\n print(f.readlines())#一行一行读,存为列表 #解决大文件: for i in f: print(i)#本质就是一行一行进行读取
2. w操作:
1.先清空文件 2.写入文件 f = open('1.txt','w',encoding='utf-8') f.write('13030308\n') f.write('456456\n') f.close()
3. a操作:追加操作
#在源文件的基础上进行添加 f = open('1.txt','a',encoding='utf-8') f.write('13030308\n') f.write('456456\n') f.close()
1.2. b操作:rb/wb/ab
#rb: f1 = open('1.jpg','rb') print(f1.read()) print(f1.read(3))#按照字节读取,读取前3个字节 #wb: f = open('3.jpg','wb') f.write(f1.read()) #ab: f = open('2.jpg','ab') f.write('你好啊',encode = 'utf-8')
1.3 +操作
1. r+:读写。应该先读后写 #错误示范 f = open('1.txt','r+','utf-8') #f = write('cx你太美') #print(f.read()) #正确 print(f.read()) f = write('cx你太美')
2. w+ :清空写读
#读不到内容 f = open('1.txt','r+','utf-8') f = write('cx你太美')#光标问题 print(f.read())
3. a+:追加写读
#读不到内容 f = open('1.txt','r+','utf-8') f = write('cx你太美')#光标问题 print(f.read())
2.菜中菜:
1.f.tell(): 返回的是字节数
2.f.seek(): 移动光标,
1.seek(0,0) --> 移动到文件头部
2.seek(0,1) --> 当前位置
3.seek(0,2) --> 移动到文件末尾
4.seek(3) --> 按字节移动(按照不同编码集进行计算)
print(f.tell())#显示光标位置,返回的是字节数 f.seek(0)#移动光标
3.文件修改:
f =open('1.txt','r','utf-8') #for i in f: s = f.read() s1 = s.replace('12','45') f.close() f1 =open('1.txt','w','utf-8') f1.write(s1) f1.close()
4.with open()#自动打开关闭文件
with open('1.txt','r','utf-8') as f,\ open('1.1.txt','w','utf-8') as f1: for i in f: s1 =i.replace('12','45') f1.write(s1) import os os.rename('1.txt','1.bak') os.rename('1.1.txt','1.txt')
3.相对路径:
1.绝对路径方式打开文件
路径转义:
1."\"
2.r"C:\user\net"
f = open("E:\\python\\oldboy\\py\\190715",'r','utf-8') #路径转义:1.'\\' #2.r。-->repr():数据的原形态 #s = "[1,2,'3',4]" #print(s) #print(repr(s))#--显示数据原形态 f = open(r"E:\python\oldboy\py\190715",'r','utf-8') print(f.read()) f.close() 1.相对路径 f = open("../190713/1.txt",'r','utf-8') print(f.read()) f.close() #推荐使用相对路径
总结