檔案操作方式的補充:
「+」表示的是可以同時讀寫某個檔案
r+:可讀可寫
w+:可讀可寫
a+:可讀可寫
x:只寫模式【不可讀;不存在則建立,存在則報錯】
x+:可讀可寫
檔案內的游標移動:
1、read():
1、檔案開啟方式為文字模式時,代表的是讀取的是三個字元
2、檔案開啟方式為b模式時,代表讀取3個位元組
2、二: 其餘的檔案內游標移動都是以位元組為單位如seek,tell,truncate
注意:1、seek有三種移動的方式(0,1,2)其中1和2必須在b模式下進行,但無論哪種模式,都是以bytes為單位移動的
2、truncate是截斷檔案,所以檔案的開啟方式必須可寫,但是不能用w或w+等方式開啟,因為那樣直接清空檔案了,所以truncate要在r+或a或a+等模式下測試效果
檔案的修改:檔案的資料是存放於硬碟上的,因而只存在覆蓋、不存在修改這麼一說,我們平時看到的修改檔案,都是模擬出來的效果
方式一:將硬碟存放的該檔案的內容全部載入到記憶體,在記憶體中是可以修改的,修改完畢後,再由記憶體覆蓋到硬碟
優點:任意時間硬碟上都只有乙個檔案,不會占用過多的硬碟空間
缺點:當檔案過大時,可能會造成記憶體的溢位
with open(r'test02.txt
','r
',encoding='
utf-8
') as f:
data =f.read()
(data)
(type(data))
with open(r
'test02.txt
','w
',encoding='
utf-8
') as f:
res = data.replace('
e','j'
)
(data)
f.write(res)
方式二:將硬碟存放的該檔案的內容一行一行地讀入記憶體,修改完畢就寫入新檔案,最後用新檔案覆蓋原始檔
優點:記憶體中始終只有一行內容,不會過多的占用記憶體空間
缺點:在某一時刻硬碟上會同存在兩個檔案
with open(r'test02.txt
','r
',encoding='
utf-8
') as read_f,\
open(r
'test02.swap
','a
',encoding='
utf-8
') as write_f:
for line in
read_f:
new_line = line.replace('
j','e'
) write_f.write(new_line)
os.remove(
'test02.txt')
os.rename(
'test02.swap
','test02.txt
')
python檔案操作 相關操作
python關於檔案的相關操作包括重新命名 刪除 建立資料夾 獲取當前目錄 改變預設目錄 獲取目錄內容列表。python檔案的上述相關操作是在os模組下,所以要匯入os模組,import os 重新命名os.rename old new 修改單級目錄 檔案 名稱 os.renames old new...
python檔案操作相關
python涉及檔案操作主要是os模組和pickle模組 一 os模組 1.開啟檔案 open 路徑 檔名,讀寫模式 比如 open f aaa bbb ccc rb 表示以二進位制讀操作的方式開啟f aaa bbb路徑的ccc檔案 rb表示二進位制讀,若檔案不存在,則不會建立,若用wb,表示二進位...
python檔案相關操作
1.遍歷目錄 遍歷目錄 import os os.walk top topdown true onerror none followlinks false top 是你所要遍歷的目錄的位址,返回的是乙個三元組 root,dirs,files root 所指的是當前正在遍歷的這個資料夾的本身的位址 d...