python基礎 檔案操作

2021-09-29 06:50:00 字數 3213 閱讀 5550

檔案操作

通過python對計算機中的各種檔案進行增刪改查操作

操作檔案的步驟:1、開啟檔案。2、對檔案進行各種操作。3、關閉檔案

開啟檔案使用open()函式

open()函式中的file引數是要開啟檔案的名字

open()函式返回值:返回乙個物件,這個物件代表了當前開啟的檔案

開啟檔案注意事項:

1、當目標檔案和當前檔案在同乙個目錄下,則直接使用檔名即可開啟

2、當目標檔案和當前檔案不在同乙個目錄下時,則在檔名前加上檔案的絕對路徑

關閉檔案使用close()函式

file_name=lianxi.txt

file_content=

open

(file_name)

#開啟檔案

print

(file_content.read())

##read()方法讀取檔案中的內容,會將讀取到的內容全部儲存在乙個字串中返回

file_name.close#關閉檔案

讀取檔案後,對檔案進行完操作之後一定要將檔案關閉,不關閉檔案的話將一直占用記憶體

為了避免開啟檔案之後忘記關閉檔案,可以使用「with open檔案路徑+檔名as別名」對檔案進行開啟。在with語句中可以直接有別名對檔案進行操作,改檔案也只能在with語句中進行操作,一單with語句結束檔案就會自動關閉

with

open

('lianxi.txt'

)as lx:

content=lx.read(

)print

(content)

print

(lx.read())

#此語句將會報錯,報在關閉的檔案上操作

如果在被開啟的檔案內容是中文的話,需要再open函式裡面加上編碼引數encoding=『utf-8』。如果不加這個引數的話會報錯。

讀取較大檔案

呼叫read()函式,會將文字內容全部讀取,若內容檔案比較大,會一次性將檔案的內容全部載入到記憶體中,容易導致記憶體溢位

read()函式引數size,預設值為-1,表示讀取檔案的全部內容,通過改變引數來指定讀取字元的數量,指定size的值,這樣read函式會讀取起訂數量的字元,每一次讀取都是從上次讀取到的位置開始讀取,如果字元的數量小於size,則會直接讀取剩餘所有字元

with

open

('lianxi.txt'

)as lx:

while

true

: content=lx.read(3)

ifnot content:

break

print

(content)

其他的讀取方式

readline()讀取一行

readlies()改方式是一行一行讀取,會將讀取到的內容封裝到列表中返回

with

open

('lianxi.txt'

)as lx:

content=lx.read(

) content=lx.readline(

) content=lx.readlines(

)print

(content)

想檔案中寫入內容使用write()方法

write()函式向檔案中寫入內容的時候,函式需要傳入乙個字串作為引數

如果要對檔案進行寫入操作,在開啟檔案的時候就要在read()方法中指定操作型別。不指定的話預設是以讀取的方式開啟,讀取方式開啟的話不能對檔案進行寫入操作

read()的操作型別:

1、『r』:唯讀(預設方式,可以不傳入)

2、「w」:表示可以寫。使用「w」來寫入檔案,如果檔案不存在會建立檔案,如果檔案存在會覆蓋原檔案的內容

3、「a」:表示追加。如果檔案不存在,則會建立檔案;如果檔案存在,則會想檔案中追加內容

4、「+」:為操作符增加功能

5、「r+」:即可讀又可寫,檔案不會報錯

6、「x」:用來建立檔案,如果檔案不存在則建立;如果檔案存在則報錯

with

open

('lianxi.txt'

,'w'

)as lx:

lx.write(

'你好啊!!'

)

with

open

('lianxi.txt'

,'rt'

)as lx:

content=lx.read(10)

#讀取文字檔案時,size是以字元為單位

with

open

('lianxi.txt'

,'rb'

)as lx:

content=lx.read(10)

#讀取二進位制檔案時,size是以位元組為單位

tell()方法能獲取檔期讀取到的位置

with

open

('lianxi.txt'

,'rt'

)as lx:

content=lx.read(10)

print

(lx.tell(

))

seek()方法可以修改當前讀取的位置,即可以指定從哪個位置開始讀取

seek()可以和read()放的size引數結合使用,就能事項從**讀取到**

with

open

('lianxi.txt'

,'rt'

)as lx:

lx.seek(3)

content=lx.read(10)

print

(content)

:中文是用utf-8進行編碼,乙個中文佔3個位元組,所有使用seek()讀取中文時,引數須是3或3的倍數

檔案的其他操作:

os模組,操作目錄

os.listdir()獲取當前目錄結構

os.listdir(』…』)返回上一級

os.getcwd()獲取當前所在的目錄

os.chdir(『c:/』)切換到c盤

os.mkdir()建立目錄–當前檔案

os.rmdir()刪除目錄

Python基礎 檔案操作

使用 open 能夠開啟乙個檔案,open 的第乙個引數為檔名和路徑 my file.txt 第二個引數為將要以什麼方式開啟它,比如w為可寫方式.如果計算機沒有找到 my file.txt 這個檔案,w 方式能夠建立乙個新的檔案,並命名為 my file.txt 例項 text tthis is m...

python 基礎 檔案操作

開啟 在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案 open 檔名,訪問模式 示例如下 f open test.txt w 說明 訪問模式說明r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。...

python 基礎 檔案操作

開啟 在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案 open 檔名,訪問模式 示例如下 f open test.txt w 說明 訪問模式說明r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。...