| 基础知识六 文件操作f = open( "1.txt" ,mode = 'r' ,encoding = 'utf-8' )print(f.read())f.close1.文件操作模式:1.1 r/w/a1. 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操作: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(): 移动光标,- seek(0,0) --> 移动到文件头部
- seek(0,1) --> 当前位置
- seek(0,2) --> 移动到文件末尾
- 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."\" 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()f = open("../190713/1.txt" ,'r' ,'utf-8' )print(f.read())f.close()#推荐使用相对路径 更多Python学习资料可关注:itheimaGZ获取 |