python之路_文件操作解析
文件操作
一、操作文件三要素
1. 路徑 ? ?#文件存放的具體位置的路徑
2. 編碼 ? ?#文件打開的的編碼格式:utf-8
3. 模式
- rb:以字節的方式只讀
- r:?讀取utf-8編碼數據,【轉換】成unicode(str)編碼的數據
#實例: obj=open('D:\美女模特空姐聯系式.txt',encoding='utf-8',mode='r') content=obj.read() obj.close() print(content) #字符串格式- r+:先讀后寫?
# 情況一: obj = open('D:\美女模特空姐護士聯系式.txt',mode='r+',encoding='utf-8') data = obj.read() # obj.write('6') # 在最后繼續寫 obj.close() print(data) # 情況二: obj = open('D:\美女模特空姐護士聯系式.txt',mode='r+',encoding='utf-8') data = obj.read() obj.seek(3) obj.write('6') # 定位到指定位置寫 obj.close() print(data) 說明:data = obj.read() # 讀取所有文件內容
data = obj.read(2) # r模式:字符;rb模式:字節
obj.seek(2) # 永遠是字節,指定指針位置
obj.tell() # 讀取當前指針的位置
- r+b
- wb
- w:只讀
實例: obj = open('美女.txt',mode='w',encoding='utf-8') obj.write("海角-賈敏") obj.close() - w+:先讀后寫
- w+b
- ab:只追加
#實例: obj = open('美女.txt',mode='ab') obj.write("龍哥".encode('utf-8')) obj.close()- a:只追加
#實例: obj = open('美女.txt',mode='a',encoding='utf-8') obj.write("小紅") obj.close() - a+
- a+b
功能:
obj = open(文件路徑,mode='rb')
obj.read()
obj.write()
obj.seek()
obj.tell()
obj.close()
obj.flush()
? obj.readline()
PS: 打開文件后,記著關閉文件
手動關閉:
obj = open(文件路徑,mode='rb')
xxxx
obj.close()
自動關閉:
with open(文件路徑,mode='rb') as obj:
obj.read() ? ?# 代碼執行完畢后,自動關閉文件
二、文件逐行讀取循環
例:
f=open('user.txt',encoding='utf-8',mode='r') name = input("請輸入用戶名:") pwd = input("請輸入密碼:") for line in f:val= line.strip().split('|')if name==val[0] and pwd==val[1]:print("登陸成功!")注釋:循環結束指針并未回到文件起始位置兩種方法可以實現:重新打開文件或者f.seek(0)將指針強制放回起始位置
三、文件操作重點方法介紹
1、只讀方法實例:
f = open('file',encoding='utf-8') #f文件句柄、文件操作符,默認只讀模式 content1 = f.read() #read 讀整個文件 返回一個字符串 f.seek(0) #將指針重新定位到文件起始,否則后面read方法無法執行 content2 = f.readlines() #read 讀整個文件 返回一個列表 f.seek(0) content3 = f.readline() #readline 讀一行 f.close() print(content1) print(content2) print(content3)2、只寫方法實例:(慎重!會將原文件內容清空)
f = open('file','w',encoding='utf-8') f.write('nezha|18|male') #寫一個字符串 f.writelines() #將列表中的內容寫入文件 f.close()3、讀寫方法實例:
f = open('file','r+',encoding='utf-8') print(f.readline()) f.write('wusir|66|male') f.close() #輸出結果說明:輸出第一行,并在原文件夾最后追加寫的內容說明:(1)打開文件的時候:不清空文件 ?(2)當用戶讀取操作之后,寫的所有內容都變成追寫 ?(3)當用戶不執行讀操作,寫默認從開始覆蓋
4、文件修改實例:
f = open('file',encoding='utf-8') f2 = open('file_bak','w',encoding='utf-8') #文件本身不存在 for line in f:user_list = line.split('|')print(user_list)user_list[0] = user_list[0]+'_somebody'#print(user_list)user_str = '|'.join(user_list)print(user_str)f2.write(user_str) f.close() f2.close() import os #模塊- 用來和操作系統交互的模塊 os.remove('file') #刪除一個文件 os.rename('file_bak','file') #重命名一個文件?
轉載于:https://www.cnblogs.com/seven-007/p/7425955.html
總結
以上是生活随笔為你收集整理的python之路_文件操作解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 借贷宝上征信吗 建议大家按时还款保持良好
- 下一篇: websocket python爬虫_p