python 讀寫檔案

2022-08-23 20:09:11 字數 1784 閱讀 9125

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=['

lxy','

zyf','

zxd','

lcs'

]2  writelines(names)

換行的話,可以在陣列裡面加\n

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 只...