Python基礎(18)檔案操作

2021-10-03 19:08:06 字數 4666 閱讀 2717

在計算機中,檔案是以 二進位制 的方式儲存在磁碟上的

文字檔案和二進位制檔案

1.文字檔案

2.二進位制檔案

在計算機中要操作檔案的套路非常固定,一共包含三個步驟:

開啟檔案2.

讀、寫檔案

讀:將檔案內容讀入記憶體 (read)

寫:將記憶體內容寫入檔案(write)

關閉檔案

序號函式/方法

說明01

open

開啟檔案,並且返回檔案操作物件

02read

將檔案內容讀取到記憶體

03write

將指定內容寫入檔案

04close

關閉檔案

open 函式負責開啟檔案,並且返回檔案物件

read / write / close 三個方法都需要通過檔案物件來呼叫

open 函式的第乙個引數是要開啟的檔名(檔名區分大小寫)

如果檔案 存在,返回 檔案操作物件

如果檔案 不存在,會 丟擲異常

read 方法:可以一次性讀入並返回檔案的所有內容

close 方法:負責關閉檔案如果忘記關閉檔案,會造成系統資源消耗,而且會影響到後續對檔案的訪問

注意:read 方法執行後,會把 檔案指標 移動到 檔案的末尾

f =

open

('test.txt'

)print

(f.read())

f.close(

))

readlines:以列表形式返回結果,每個元素都是每一行的內容

f =

open

('test.txt'

)print

(f.readline())

# 唯讀一行

print

(f.readlines())

# ['test\n', '456789\n', 'aaddss']

f.close(

)

訪問方式說明r

以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭,這是預設模式。如果檔案不存在,丟擲異常

w以只寫方式開啟檔案。如果檔案存在會被覆蓋。如果檔案不存在,建立新檔案

a以追加方式開啟檔案。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果檔案不存在,建立新檔案進行寫入

r+以讀寫方式開啟檔案。檔案的指標將會放在檔案的開頭。如果檔案不存在,丟擲異常

w+以讀寫方式開啟檔案。如果檔案存在會被覆蓋。如果檔案不存在,建立新檔案

a+以讀寫方式開啟檔案。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果檔案不存在,建立新檔案進行寫入

# open('tws.txt','r')  # 報錯,因為是唯讀模式

# f = open('test.txt','r+') # 讀取檔案,並且指標在開頭

# f = open('tes1.txt','w+') # 不會報錯並且會建立乙個新檔案tes1

# f = open('test.txt','w+') # 讀取檔案並且指標在開頭,由於是寫模式會把檔案內容全部刪除重新寫入資料

f=open

('test.txt'

,'a+'

)# 讀取檔案,指標在檔案末尾,無法讀取出資料

f.close(

)

檔案指標 :標記從哪個位置開始讀取資料第一次開啟檔案時,通常檔案指標會指向檔案的開始位置

當執行了read方法後,檔案指標會移動到讀取內容的末尾

tip:執行了一次 read 方法,讀取了所有內容,那麼再次呼叫 read

方法,無法獲取內容,因為第一次讀取之後,檔案指標移動到了檔案末尾,再次呼叫不會讀取到任何的內容。

作用:用來移動檔案指標

語法如下:

檔案物件,seek(偏移量,起始位置)
起始位置:

f =

open

('test.txt'

,'a+'

)f.seek(0,

0)print

(f.read())

# 從頭讀取資料

f.close(

)f =

open

('test.txt'

,'r+'

)f.seek(0,

2)print

(f.read())

# 指標在末尾讀取不出資料

開啟乙個已有檔案,讀取完整內容,並寫入到另外乙個檔案

f_r =

open

('test.txt'

,'r+'

)f_w =

open

('test[備份].txt'

,'w+'

)#命名規則:檔名[備份].檔案型別

con = f_r.read(

)f_w.write(con)

f_w.seek(0,

0)print

(f_w.read())

# 檢視內容

f_r.close(

)f_w.close(

)

開啟乙個已有檔案,逐行讀取內容,並順序寫入到另外乙個檔案

f_r =

input

('輸入要複製的檔名:'

)n = f_r.rfind(

'.')

if n >0:

# 判斷命名是否有效

f_w = f_r[

0:n]

+'[備份]'

+f_r[n:

]print

(f_w)

old_r =

open

(f_r,

'rb'

)new_w =

open

(f_w,

'wb'

)while

true

: w = old_r.readline()if

len(w)==0

:# 如果讀取完成就退出迴圈

break

new_w.write(w)

old_r.close(

)new_w.close(

)

在 終端 / 檔案瀏覽器、 中可以執行常規的 檔案 / 目錄 管理操作,例如: 序號

方法名說明

示例01

rename

重新命名檔案

os.rename(源檔名, 目標檔名)

02remove

刪除檔案

os.remove(檔名)

import os

# os.rename('test[備份].txt','test[別名].txt')

os.remove(

'test[別名].txt'

)

序號

方法名說明

示例01

listdir

目錄列表

os.listdir(目錄名)

02mkdir

建立目錄

os.mkdir(目錄名)

03rmdir

刪除目錄

os.rmdir(目錄名)

04getcwd

獲取當前目錄

os.getcwd()

05chdir

修改工作目錄

os.chdir(目標目錄)

06path.isdir

判斷是否是檔案

os.path.isdir(檔案路徑)

'''

rename重新命名

remove刪除

'''import os

os.rename(

'test[備份].txt'

,'test[別名].txt'

)os.remove(

'test[別名].txt'

)# mkdir 建立資料夾

os.mkdir(

'xuexi'

)# rmdir 刪除資料夾

os.rmdir(

'xuexi'

)# getcwd 返回當前檔案目錄

print

(os.getcwd())

# chdir 改變目錄

# 在aa資料夾裡建立bb資料夾

os.mkdir(

'aa'

)os.chdir(

'aa'

)os.mkdir(

'bb'

)# listdir 獲取目錄

print

(os.listdir(

'aa'))

# ['bb']

# path.isdir 判斷是否是資料夾

print

(os.path.isdir(

'aa/bb'))

# true

Python語言基礎18 檔案其他操作

二進位制檔案 二進位制檔案 讀取模式 t 讀取文字檔案 預設值 b 讀取二進位制檔案 讀取文字檔案時,size 是以字元為單位的 讀取二進位制檔案時,size 是以位元組為單位的 print file obj.read 將讀取到的內容寫出來 定義乙個新的檔案 定義每次讀取的大小 chunk 1024...

18 檔案操作

1.了解檔案操作 思考 什麼是檔案?思考 檔案操作包含什麼?答 開啟,關閉,讀,寫,複製 思考 檔案操作的作用是什麼?答 讀取內容,寫入內容,備份內容.總結 檔案操作的作用就是把一些內容 資料 儲存存放起來,可以讓程式下一次執行的時候直接使用,而不必重新製作乙份,省時省力。2.檔案的基本操作 開啟檔...

python基礎 9 檔案操作

開啟檔案 獲取檔案物件 關閉檔案 1 格式 f open 路徑 檔名 模式 預設為r模式唯讀 read first line f.read line 讀取第一行 print first line f.close 關閉檔案 開啟檔案的模式有 r 唯讀模式 預設模式,檔案必須存在,不存在則丟擲異常 w,...