1.開啟檔案
常見的mode如下表所示:open
(file
, mode=
'r', buffering=
none
, encoding=
none
, errors=
none
, newline=
none
, closefd=
true
)
開啟模式
執行操作
『r』以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
『w』開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯。即原有內容會被刪除。如果該檔案不存在,建立新檔案。
『x』寫模式,新建乙個檔案,如果該檔案已存在則會報錯。
『a』追加模式,開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
『b』『t』
『+』可讀寫模式(可新增到其它模式中使用)
開啟乙個檔案,並返回檔案物件,如果該檔案無法被開啟,會丟擲oserror。
2.檔案物件方法方法f =
open
('將進酒.txt'
(f)for each in f:
(each)
描述fileobject.close()
用於關閉乙個已開啟的檔案。關閉後的檔案不能再進行讀寫操作, 否則會觸發valueerror錯誤。
fileobject.read([size])
用於從檔案讀取指定的字元數,如果未給定或為負則讀取所有。
fileobject.readline()
讀取整行,包括 「\n」 字元。
fileobject.readlines()
用於讀取所有行(直到結束符 eof)並返回列表,該列表可以由 python 的 for… in … 結構進行處理。
fileobject.tell()
返回檔案的當前位置,即檔案指標當前位置。
fileobject.seek(offset[, whence])
用於移動檔案讀取指標到指定位置。
fileobject.write(str)
用於向檔案中寫入指定字串,返回的是寫入的字元長度。
fileobject.writelines(sequence)
向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符\n。
有了os(operation system)模組,我們不需要關心什麼作業系統下使用什麼模組,os模組會幫你選擇正確的模組並呼叫。
方法描述
os.getcwd()
用於返回當前工作目錄。
os.chdir(path)
用於改變當前工作目錄到指定的路徑。
listdir (path=』.』)
返回path指定的資料夾包含的檔案或資料夾的名字的列表。
os.mkdir(path)
建立單層目錄,如果該目錄已存在丟擲異常。
os.makedirs(path)
用於遞迴建立多層目錄,如果該目錄已存在丟擲異常。
os.remove(path)
用於刪除指定路徑的檔案。如果指定的路徑是乙個目錄,將丟擲 oserror。
os.rmdir(path)
用於刪除單層目錄。僅當這資料夾是空的才可以, 否則, 丟擲 oserror。
os.removedirs(path)
遞迴刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則丟擲異常。
os.rename(src, dst)
方法用於命名檔案或目錄,從 src 到 dst,如果 dst 是乙個存在的目錄, 將丟擲 oserror。
os.system(command)
執行系統的shell命令(將字串轉化成命令)
os.curdir
指代當前目錄(.)
os.pardir
指代上一級目錄(…)
os.sep
輸出作業系統特定的路徑分隔符(win下為\,linux下為/)
os.linesep
當前平台使用的行終止符(win下為\r\n,linux下為\n)
os.name
指代當前使用的作業系統(包括:『mac』,『nt』)
os.path.basename(path)
去掉目錄路徑,單獨返回檔名
os.path.dirname(path)
去掉檔名,單獨返回目錄路徑
os.path.join(path1[, path2[, …]])
將 path1,path2 各部分組合成乙個路徑名
os.path.split(path)
分割檔名與路徑,返回(f_path,f_name)元組。如果完全使用目錄,它會將最後乙個目錄作為檔名分離,且不會判斷檔案或者目錄是否存在。
os.path.splitext(path)
分離檔名與副檔名,返回(f_path,f_name)元組。
os.path.getsize(file)
返回指定檔案大小,單位是位元組。
os.path.getatime(file)
返回指定檔案最近的訪問時間
os.path.getctime(file)
返回指定檔案的建立時間
os.path.getmtime(file)
返回指定檔案的最新的修改時間浮點型秒數,可用time模組的gmtime()或localtime()函式換算
os.path.exists(path)
判斷指定路徑(目錄或檔案)是否存在
os.path.isabs(path)
判斷指定路徑是否為絕對路徑
os.path.isdir(path)
判斷指定路徑是否存在且是乙個目錄
os.path.isfile(path)
判斷指定路徑是否存在且是乙個檔案
os.path.islink(path)
判斷指定路徑是否存在且是乙個符號鏈結
os.path.ismount(path)
判斷指定路徑是否存在且是乙個懸掛點
os.path.samefile(path1,path2)
判斷path1和path2兩個路徑是否指向同乙個檔案
python 的 pickle 模組實現了基本的資料序列和反序列化。
pickle.dump(obj, file, [,protocol])
將obj
物件序列化存入已經開啟的file
中。
Task09 檔案與檔案系統
開啟檔案 1.open file,mode r buffering none,encoding none,errors none,newline none,closefd true file 必需,檔案路徑 相對或者絕對路徑 mode 可選,檔案開啟模式 buffering 設定緩衝 encodin...
Task09 檔案與檔案系統
開啟中文字元的文件時,會出現亂碼,python自帶的開啟檔案是否可以指定文字編碼?還是只能用相關函式?答 python自帶的開啟檔案可以指定文字編碼,在open 函式中設定引數encoding為utf8即可。編寫程式查詢最長的單詞 輸入文件 res test.txt 題目說明 input file ...
Task 09 檔案系統。
with語句的工作原理 enter exit 這兩個方法 with後面返回的物件要求必須有這兩個方法,而檔案物件f剛好是有這兩個方法的。object.enter self 進入與此物件相關的執行時上下文。with語句將將此方法的返回值繫結到語句的as子句中指定的目標 如果有設定的話 object.e...