python文件操作:文件的讀寫及修改-注意事項


data = open('D:yesterday2',encoding='utf-8').read() #注意編碼問題
print(data) 此處不能操作
文件是全部讀出來,讀大型文件一般不適用。

f = open('D:yesterday2','w',encoding='utf-8')
#文件句柄 為了更好的操作文件 w是打開文件的模式


若是既要讀,也要寫 可以將上面的W換成 a (a代表的是追加的意思)

For line in f:#此種方法讀寫效率更好 高效的循環方法: 此處用於讀寫大型文件。

文件操作的時候,W模式 會覆蓋原來的文件(因此原來的文件會消失,因此此處要注意)

f.tell()文件讀寫指針的問題
f.seek(0)指針位置回到0 0可以隨便修改
write寫后要用f.flush()刷到硬盤上


f = open('D:yesterday2','r+',encoding='utf-8')
讀寫 一般寫在文件后面 基本上屬於是在后面追加

f = open('D:yesterday2','w+',encoding='utf-8') 一般不用

寫讀 先創建文件 再寫

文件的修改
一般是在內存中修改,在硬盤中修改 ,一般會覆蓋

修改文件思路:
利用for循環,查找需要修改的內容
一般循環的時候,用條件去判斷
import sys
f = open("我的太陽","r",encoding="utf-8")
f_new = open("我的太陽.bak","w",encoding="utf-8") #打開一個新文件,避免覆蓋掉原文件

for line in f:
if find_str in line:
line = line.replace(find_str,replace_str)
f_new.write(line)
f.close()
f_new.close()

 

打開文件,不操作了,一定要記得關閉,所以一般時候更用with,具體語法如下:
with open (‘log’,’r’) as f
with open("我的太陽","r",encoding="utf-8") as f:
for line in f:
print(line)

同時可以用此函數打開多個文件:
with open (‘log1’) as obj1, open (‘log2’) as obj2……

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM