對檔案的操作分三步:
1、開啟檔案獲取檔案的控制代碼,控制代碼就理解為這個檔案
2、通過檔案控制代碼操作檔案
3、關閉檔案。
現有以下檔案a.txt:
登鸛雀樓唐代:王之渙
白日依山盡,黃河入海流。
一、檔案基本操作
f = open('a.txt','a+',encoding='utf-8')#開啟乙個檔案f.seek(0)#seek移動指標到檔案開頭的時候,只對讀好使,對寫不好使
print(f.read())#讀取檔案裡面的全部內容
f.write('\n'+'欲窮千里目,更上一層樓。 ')#寫入檔案
# f.truncate()#清空檔案內容
print(f.tell())#檢視當前檔案指標的位置
print(f.readline())#
只讀取一行的內容
print(f.readlines())#
讀取檔案裡面所有的內容,把檔案裡面每一行的內容放到乙個list裡面
f.close()#關閉檔案
注:檔案開啟有3種方式讀 r (如果開啟的檔案的時候沒有指定模式,那麼預設是讀)
讀寫模式 r+(
只要沾上r,檔案不存在的時候,開啟都會報錯)
寫 w
寫讀模式 w
+(只要沾上w,他就會把檔案內容清空)
追加 a
追加讀寫a+
f = open('a.txt
','a+
',encoding='
utf-8')
#names =
#s='haha,123456'
#f.write(names)
#f.writelines(names) #寫入可迭代的資料,效率不高
二、檔案的高效處理
用上面的read()和readlines()方法操作檔案的話,會先把檔案所有內容讀到記憶體中,這樣的話,記憶體資料一多,非常卡,高效的操作,就是讀一行操作一行,讀過的內容就從記憶體中釋放了
f = open('file.txt')
for line in
f:
(line) #
這樣的話,line就是每行檔案的內容,讀完一行的話,就會釋放一行的記憶體
三、檔案的修改
''修改檔案 一 '''with open('a.txt','a+',encoding='utf-8') as f:
f.seek(0)
all =f.read()
new_all =all.replace('二','一')
f.seek(0)
f.truncate() #刪除原檔案內容
f.write(new_all)
f.flush()
'''修改檔案 二
'''import
oswith open(
'a.txt
','a+
',encoding='
utf-8
') as f,open('
c.txt
','w
',encoding='
utf-8
') as f2:
f.seek(0)
for line in
f: new_line = line.replace('
一','二'
) f2.write(new_line)
os.remove(
'a.txt
')#刪除原檔案
os.rename('
c.txt
','a.txt
')#更改修改檔名稱
四、其他
with open('a.txt
','w
') as gy,open('
b.txt
','w
') as gy2: #
開啟多個檔案且自動關閉
gy.write('
hhh'
) gy2.write(
'hahah
')
f = open('1.png
','rb
')#加b是以二進位制方式開啟,、音訊等
#立即把緩衝區裡面的內容寫到檔案中
python學習筆記 三 檔案操作和集合
這篇部落格來說一下python對檔案的操作。對檔案的操作分三步 1 開啟檔案獲取檔案的控制代碼,控制代碼就理解為這個檔案 2 通過檔案控制代碼操作檔案 3 關閉檔案。現有以下檔案file.txt 12 3456 78910 1112 1314 1516 1718 1920 2122 2324 252...
python學習記錄(三) 檔案操作
操作檔案必須進行的三個步驟 開啟檔案 對檔案進行操作 讀,寫 關閉檔案 python中開啟檔案使用的是open函式,需要傳入檔案開啟的模式,所有檔案開啟模式如下 檔案開啟模式描述r 以唯讀模式開啟檔案,並將檔案指標指向檔案頭 如果檔案不存在會報錯 w以只寫模式開啟檔案,並將檔案指標指向檔案頭 如果檔...
Python學習筆記 四 檔案操作
讀取鍵盤輸入 buf raw input please input your name buf raw input 開啟檔案 如果hello.txt不存在 fp open hello.txt w w是說建立這個檔案,以寫的方式開啟 fp.write text fp.close 如果hello.txt...