檔案操作基本循的方式首先需要檔案路徑,其次對於檔案的編碼方式進行選擇,最後執行操作。
檔案操作:
1.檔案路徑:
絕對路徑:將檔案的全部路徑完全輸入,從而查詢到檔案
相對路徑:在當前目錄下開啟,或查詢檔案
f = open('c:\你好.txt', mode='r',encoding= 'utf-8')s = f.read()
print(s)
f.close()
#絕對路徑查詢
f = open('你好.txt', mode='r',encoding= 'utf-8')
s = f.read()
print(s)
f.close()
#相對路徑查詢,注意需要在和檔案在相同的目錄下才能查詢到.
2.編碼方式:
基本的編碼方式,utf-8,gbk等
在開啟檔案之前需要確定檔案的編碼方式是什麼,因此用encoding = 『』來確認編碼方式。
3.操作方法:
有唯讀 『r』,讀寫『r+』,寫讀『w+』,只寫『w』
檔案格式:
f == 變數,表示問乙個檔案控制代碼,代表乙個檔案的開頭。
open是windows自帶的系統功能,python呼叫開啟檔案,
並且windows的預設編碼方式為『gbk』,不輸入encoding時會自動使用『gbk』編碼
liunx預設的編碼方式為utf-8
結尾務必帶上f.close()
#檔案流程:開啟檔案--------產生檔案控制代碼------對檔案進行操作-------關閉檔案
檔案的讀寫:
1.讀:
『r』,唯讀模式,讀的方式有五種:
'r+' 讀寫模式,讀取之後在進入寫入模式,並且游標隨著讀而移動
1.全部讀出來: f.read()------佔記憶體
f = open('c:\你好.txt', mode='r',encoding= 'utf-8')s = f.read() #全部讀取
print(s)
f.close()
2.一行一行讀取: f.readline() ------ 效率不太高
f = open('c:\你好.txt', mode='r',encoding= 'utf-8')#需要在c盤建立乙個檔案s = f.readline()
print(s)
print(s)
print(s)
print(s)
f.close()
3.將原檔案的每一行作為乙個列表的元素輸出---------太佔記憶體
f = open('c:\你好.txt', mode='r',encoding= 'utf-8')s = f.readlines() #變成列表輸出,每個元素都有\n在末尾
print(s)
f.close()
4.按照字元去讀,在『r』模式下,但是在『rb『模式下會按照位元組的模式來讀取
f = open('c:\你好.txt', mode='r',encoding= 'utf-8')s = f.read(5)# 取出前五個自字元
print(s)#替換掉他! #符號也算。
f.close()
f = open('c:\你好.txt', mode='rb')#調整為rb模式的時候編碼方式改變,用bytes型別讀取,利用二進位制解碼,所以不需要編碼。s = f.read(5)# 取出前五個自字元
print(s)#'\xe6\x9b\xbf\xe6\x8d'
f.close()
5.迴圈讀取,讀一行刪一行,只占用一行記憶體。
('c:\你好.txt', mode='r',encoding= 'utf-8')for i in f:
print(i)
f.close()
2.寫』w『 只寫入
1.沒有檔案則會建立 乙個新的檔案,並寫入內容。
2.有檔案的時候,將原檔案內容清空並寫入內容。
』w+『先寫入然後讀取,寫讀,需要注意的是游標的移動問題。
』w+b『寫讀,只是使用的是二進位制的當時寫讀,並且能夠處理等各種其他格式的檔案。
3.追加
』a『 只追加寫模式,不可讀;不存在則建立;存在則只追加內容,
'a+'追加寫讀模式,先追加寫入後再讀取。
』a+b『追加寫度模式,並且使用二進位制
4.游標問題:
在檔案中寫入內容時候,寫入的地點由游標決定,
f.tell() == 顯示游標的位置#按照位元組顯示
f.seek()== 更改游標的位置,按照位元組更改!
5.其他方法:
truncate方法:截斷資料,僅保留指定之前資料
writetable:判斷檔案是否可以寫入
readtable : 判斷問價是否可以讀取
6.關閉問題:
f.close()是在記憶體中關閉檔案,有一定可能殘留在應用程式裡面,
del f 是在程式中刪除,完全清空。
7.with open()as f:
1.避免忘記關閉檔案,此程式自動關閉。
2.一次性操作多個檔案控制代碼
8#######重點!!
所有輸入的底層原理。
1.將原檔案讀取到記憶體
2.在記憶體中進行修改,形成新的字串檔案。
3.將新的字串寫入新檔案
4.將原始檔刪除
5.將新檔案重新命名成原檔案。
import oswith open('你的名字',encoding = 'utf-8') as f1,\
open('你的名字.fuzhi',encoding = 'utf-8',mode ='w') as f2:
s = f1.read()
f2.write(s.resplace('你好','hello'))
os.remove('你的名字')
os.rename('你的名字.fuzhi','你的名字')
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...