在計算機中,檔案是以 二進位制 的方式儲存在磁碟上的
文字檔案和二進位制檔案
1.文字檔案
2.二進位制檔案
在計算機中要操作檔案的套路非常固定,一共包含三個步驟:
開啟檔案2.
讀、寫檔案
讀:將檔案內容讀入記憶體 (read)
寫:將記憶體內容寫入檔案(write)
關閉檔案
序號函式/方法
說明01
open
開啟檔案,並且返回檔案操作物件
02read
將檔案內容讀取到記憶體
03write
將指定內容寫入檔案
04close
關閉檔案
open 函式負責開啟檔案,並且返回檔案物件open 函式的第乙個引數是要開啟的檔名(檔名區分大小寫)read / write / close 三個方法都需要通過檔案物件來呼叫
如果檔案 存在,返回 檔案操作物件
如果檔案 不存在,會 丟擲異常
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,...