1、開啟檔案
open()
f=open('haha')
#開啟乙個名為haha的txt檔案,不寫字尾預設txt檔案,其他型別檔案必須寫字尾
2、read()讀取檔案內容
print(f.read()) #閱讀模式,獲取裡面所有的內容,該模式只能讀取內容,不能對其進行修改。
有時候會產生該錯誤,表示gbk解碼時報錯,存在一些字元不能使用gbk來解碼(例如中文) 所以我們可以在open()中再新增乙個引數 encoding='utf-8' 就可以解決該問題。
若檔案不存在執行,會報錯。
在讀取路徑時,比如c:\\niu\\desktop 這種,open在開啟檔案時會把c:\\niu 認為裡面有乙個\n,所以我們可以在檔案路徑前加乙個r,比如f=open(r'c:\\niu\\desktop\haha')
表示原字元,不需要轉義。
print(f.readline()) #讀取一行資料
print(f.readlines())#獲取檔案裡面所有的資料,每一行資料放到乙個list裡面
print(f.read()) #獲取全部檔案內容
依次執行上面三種函式,讀取時,readline讀取第一行,readlines 讀取剩餘內容,read讀取不到內容,產生這種原因,是因為檔案指標的原因。
檔案指標:開啟檔案,預設指標在前,readline 讀取第一行,讀取完後,指標讀取到第二行,readlines表示讀取全部,所以將檔案所有內容都讀取完,指標讀取到最後,再使用read讀取的時候,就讀取不到任何東西了。
3、write()寫
f.write()
修改檔案內容,該模式只能修改不能讀,若使用此函式,則需要去資料夾看,謹慎使用該函式,修改後無法撤回。
f.write('kkkkk')
names=['lxy','zyf','zxd','lcs']
for name in names:
print(name+'\n') #依次讀出來,然後換行
writelines([list])
#傳乙個list,然後把list裡面的每乙個元素寫入到檔案中
1 names=['換行的話,可以在陣列裡面加\nlxy','
zyf','
zxd','
lcs'
]2 writelines(names)
names=['lxy\n','zyf\n','zxd\n','lcs\n']
4、檔案的模式:
讀模式 r:預設讀模式,只能讀,不能寫,檔案不存在會報錯;
寫模式 w:寫模式,只能寫,會覆蓋以前檔案裡面的內容,不能讀,檔案不存在會新建;
讀寫模式 r+:可以讀,可以寫,檔案不存在會報錯;
寫讀模式 w+:可以讀,可以寫,檔案不存在會建立;
追加模式 a:只能寫,不能讀,檔案不存在會建立,不會清空以前的內容;
追加模式 a+:讀寫模式,檔案不存在會建立,能讀能寫,不會清空以前的內容。
只要沾上r,檔案不存在都會報錯;
只要沾上w,檔案內容肯定會被清空。
5、追加模式 a+
f=open('hh','a+')
f.seek(0)
#移動指標到最前面
f.close()
#關閉檔案
Python檔案讀寫
今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...
python檔案讀寫
檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...
python 讀寫檔案
python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...