1. 程式人生 > >Python 學習 (2)檔案

Python 學習 (2)檔案

與檔案相關的兩個模組中的內建函式:os模組和os.path模組內的函式。

1.模組的概念

模組就是實現某類特定功能的一類函式和變數的檔案,字尾名是.py,它可以被其他程式呼叫,呼叫語句是import。

2.os模組

getcwd()函式:獲取當前工作目錄

chdir()函式:改變當前目錄

listdir()函式:可以輸出一個由指定檔案目錄下的所有檔名組成的列表,path不指定時預設當前工作目錄下的檔案列表

建立檔案目錄函式:mkdir(path)可以建立單級目錄,makedirs(path)可以遞迴建立多級檔案目錄

刪除檔案或檔案目錄函式:remove(path),rmdir(path),removedirs(path)

rename(old,new)函式:將檔名更新,即用new替換掉old

system()函式:執行作業系統的shell命令,os.system('cd /usr/local ; mkdir aaa.txt')

walk(top)函式:遍歷top目錄下所有子目錄並返回一個三元組(’路徑’,[路徑包含目錄],[路徑包含檔案])

3.os.path模組

 os.path模組是完成跟檔案路徑相關的函式模組。

basename(path)為去掉檔案路徑,返回檔名,注意如果輸入的路徑中不包含檔名,程式也會把最後一級目錄作為檔名返回。

dirname(path)是返回檔案路徑而去掉檔名

join(path1[,path2[,…]])將多個路徑進行合併

spilt(path)自動將檔案目錄和檔名進行切分並返回一個目錄和檔名組成的元組。

>>>os.path.spilt(r"a\b\test.txt")

('a\\b','test.txt')

spiltexf(path)自動將檔名和擴充套件進行切分並返回一個由檔名及副檔名組成的元組。

getsize(file)獲取檔案大小,大小以位元組為單位。

還有一些時間函式和對檔案路徑進行判斷的函式。

4.永久儲存

pickle模組和其兩個內建函式dump()和load()

dump()函式,將複雜的資料型別轉換成為一個二進位制檔案儲存起來,其次是load()函式,將儲存好的二進位制檔案恢復成相應的複雜資料型別。

舉例:

import pickle

my_list = [123,3.14,'小甲魚']

pickle_file = open(r'E:\\my_list.pkl','wb')

pickel.dump(mylist,pickle_file)

pickle_file.close()

import pickle

pickle_file = (r'E:\\my_list.pkl','rb')

my_list=pickle.load(pickle_file)

print(my_list)

 

顯示[123,3.14,'小甲魚']