python中常用的檔案和目錄操作 一

2022-03-11 08:43:55 字數 2994 閱讀 9187

模 式解釋

r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果不存在,則建立新檔案

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果不存在,則建立新檔案

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的末尾。也就是說,新的內容將會被寫入已有內容之後。如果該檔案不存在,則建立新檔案進行寫入

a+開啟乙個檔案用於寫入。如果檔案已存在,檔案指標將會放在檔案的末尾。檔案開啟時會是追加模式。如果檔案不存在,則建立新檔案用於讀寫

read()方法:

readline()方法:

readlines()方法:

write()方法:

writelines()方法:

假設在pycharm的工作目錄下新建了乙個test.txt的文字檔案,由於包含中文,我們儲存時設定編碼為"utf-8"。檔案內容如下:

name: peter

age: 29

height: 175

weight: 70

country: 英國

hobby: play-guitar

#

open()和read()方法

fo = open("

test.txt")

content =fo.read()

print

(content)

結果:鍩縩ame: peter

age: 29height: 175weight: 70country: 鑻卞浗

hobby: play-guitar

亂碼了,我們可以這樣解決:

fo = open("

test.txt

", encoding="

utf-8")

content =fo.read()

print

(content)

結果:name: peter

age: 29height: 175weight: 70country: 英國

hobby: play-guitar

#readlines()方法

fo = open("

test.txt

", encoding="

utf-8")

lines =fo.readlines()

print

(lines)['

\ufeffname: peter\n

', '

age: 29\n

', '

height: 175\n

', '

weight: 70\n

', '

country: 英國\n

', '

hobby: play-guitar\n

', '

\n']

write()方法:如果檔案已存在,會覆蓋

#

write()方法

fo = open("

test.txt

", "w"

)fo.write(

"city: london")

fo.close()

我們開啟test.txt檔案會發現,檔案只剩下:

city: london

注意:在同乙個w模式下,兩次寫入時,第一次寫入會已經存在的內容,第二次寫入不會覆蓋第一次寫入的內容(可以理解為指標移了)

fo = open("

test.txt

", "

w", encoding="

utf-8")

fo.write(

"第一次寫入會覆蓋已經存在的內容,")

fo.write(

"第二次寫入不會覆蓋第一次寫入的內容")

fo.close()

結果:第一次寫入會覆蓋已經存在的內容,第二次寫入不會覆蓋第一次寫入的內容

write()無法實現自動換行,需要手動新增"\n"來實現換行

fo = open("

test.txt

", "

w", encoding="

utf-8")

fo.write(

"第一次寫入會覆蓋已經存在的內容,\n")

fo.write(

"第二次寫入不會覆蓋第一次寫入的內容")

fo.close()

結果:第一次寫入會覆蓋已經存在的內容,

第二次寫入不會覆蓋第一次寫入的內容

writelines()傳遞列表來寫入多行,不會自動換行,需手動新增

fo = open("

test.txt

", "

w", encoding="

utf-8")

fo.write(

"第一次寫入會覆蓋已經存在的內容,\n")

fo.write(

"第二次寫入不會覆蓋第一次寫入的內容\n")

fo.writelines([

"111111\n

", "

222222\n"])

fo.close()

結果第一次寫入會覆蓋已經存在的內容,

第二次寫入不會覆蓋第一次寫入的內容

111111

222222

fo = open("

test.txt

", "

a", encoding="

utf-8")

fo.write(

"哈哈哈哈哈哈")

fo.close()

結果:第一次寫入會覆蓋已經存在的內容,

第二次寫入不會覆蓋第一次寫入的內容

111111

222222哈哈哈哈哈哈

tell()和seek()方法詳見:

【譯】:檔案物件的方法

linux中常用目錄的作用

bin 存放使用者最長用的命令,如 cp ls cat,等等。boot 啟動linux時使用的一些核心檔案。dev 是device 裝置 的縮寫,這個目錄下是所有linux的外圍裝置。d document chat myim myim bin release etc 這個目錄用來存放系統管理所需要的...

python檔案和目錄

coding utf 8 import os def printfile rootdir allfiles os.listdir rootdir 列出資料夾下所有檔案和目錄 for i in range 0,len allfiles print rootdir allfiles i path os....

python中常用的語法 python常用語法

python抓取資料方式 開始 第一種 response 獲取 data response.text 第二種 requests 獲取 data requests.get link data data.text 第三種 urlopen 獲取 data urlopen link read beautif...