python檔案操作總結 python檔案操作總結

2021-10-11 21:50:59 字數 3846 閱讀 9532

python 中os.path模組用於操作檔案或資料夾

os.path.exists(path) 判斷檔案路徑是否存在

dir = "c:\windows"

if os.path.exists(dir) :

print "dir exists"

else :

print "no exists"

os.path.isfile(path) 判斷path是否是檔案

dir = "c:\windows\system32\cmd.exe"

if os.path.isfile(dir) :

print "file exists"

else :

print "no exists"

os.path.getsize(path) 獲取pat**件的大小

size = os.path.getsize(dir)

print size/1024

os.path.walk(path) 遍歷path,返回乙個三元組(dirpath, dirnames, filenames).

dirpath表示遍歷到的路徑, dirnames表示該路徑下的子目錄名,是乙個列表, filesnames表示該路徑下的檔名,也是乙個列表.

例如: 當遍歷到c:\windows時,dirpath="c:\windows",

dirnames是這個路徑下所有子目錄名的列表,dirnames是這個路徑下所有檔名的列表

for (root, dirs, files) in os.walk("c:\windows"):  列出windows目錄下的所有檔案和檔名

for filename in files:

print os.path.join(root,filename)

for dirc in dirs:

print os.path.join(root,dirc)

問題 1 獲取給定資料夾的大小?

要遍歷檔案的大小,只需要遍歷檔案內的所有檔案,然後將所有資料夾的大小加起來

def getdirszie(dir) :

for (root,dirs,files) in os.walk(dir,false) :

size = 0

for filename in files :

size += os.path.getsize(os.path.join(root,filename))

print root,size/1024

問題 2 遍歷乙個資料夾的子目錄,不遍歷子目錄的字目錄?

os.listdir(path) 函式列出指定目錄下的檔案和資料夾

dir = 'c:/windows'

if os.path.exists(dir):

dirs = os.listdir(dir)

for dirc in dirs:

print dirc

else :

print "dir not exists"

問題3 刪除指定目錄下空的目錄

for (root, dirs, files) in os.walk(path) :

for item in dirs :

dir = os.path.join(root, item)

try :

print dir

os.rmdir(dir)

except :

pass

問題4  修改指定目錄下所有檔案的檔案字尾

for (root,dirs,files) in os.walk(path) :

for item in files :

d = os.path.join(root, item)

name = d + ".eml"

os.rename(d, name)

在讀檔案的時候往往需要遍歷資料夾,python的os.path包含了很多檔案、資料夾操作的方法。下面列出:

os.path.abspath(path) #返回絕對路徑

os.path.basename(path) #返回檔名

os.path.commonprefix(list) #返回多個路徑中,所有path共有的最長的路徑。

os.path.dirname(path) #返回檔案路徑

os.path.exists(path)  #路徑存在則返回true,路徑損壞返回false

os.path.lexists  #路徑存在則返回true,路徑損壞也返回true

os.path.expanduser(path)  #把path中包含的"~"和"~user"轉換成使用者目錄

os.path.expandvars(path)  #根據環境變數的值替換path中包含的」$name」和」$」

os.path.getatime(path)  #返回最後一次進入此path的時間。

os.path.getmtime(path)  #返回在此path下最後一次修改的時間。

os.path.getctime(path)  #返回path的大小

os.path.getsize(path)  #返回檔案大小,如果檔案不存在就返回錯誤

os.path.isabs(path)  #判斷是否為絕對路徑

os.path.isfile(path)  #判斷路徑是否為檔案

os.path.isdir(path)  #判斷路徑是否為目錄

os.path.islink(path)  #判斷路徑是否為鏈結

os.path.ismount(path)  #判斷路徑是否為掛載點()

os.path.join(path1[, path2[, ...]])  #把目錄和檔名合成乙個路徑

os.path.normcase(path)  #轉換path的大小寫和斜槓

os.path.normpath(path)  #規範path字串形式

os.path.realpath(path)  #返回path的真實路徑

os.path.relpath(path[, start])  #從start開始計算相對路徑

os.path.samefile(path1, path2)  #判斷目錄或檔案是否相同

os.path.sameopenfile(fp1, fp2)  #判斷fp1和fp2是否指向同一檔案

os.path.samestat(stat1, stat2)  #判斷stat tuple stat1和stat2是否指向同乙個檔案

os.path.split(path)  #把路徑分割成dirname和basename,返回乙個元組

os.path.splitdrive(path)   #一般用在windows下,返回驅動器名和路徑組成的元組

os.path.splitext(path)  #分割路徑,返回路徑名和副檔名的元組

os.path.splitunc(path)  #把路徑分割為載入點與檔案

os.path.walk(path, visit, arg)  #遍歷path,進入每個目錄都呼叫visit函式,visit函式必須有3個引數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有檔名,args則為walk的第三個引數

os.path.supports_unicode_filenames  #設定是否支援unicode路徑名

下面給出一種遍歷的實現:

1 rootdir = 'f:\data'

2 list = os.listdir(rootdir) #列出資料夾下所有的目錄與檔案

3 for i inrange(0,len(list)):

4 path =os.path.join(rootdir,list[i])

5 ifos.path.isfile(path):

6 #你想對檔案的操作

Python檔案操作總結

python檔案操作 計算機中資料持久化的表現形式 讀寫檔案標準格式一 開啟?read write file open 檔案路徑 檔名 操作模式 操作 file.write 要寫入的字串 關閉?file.close 注意 檔案操作完畢後必須關閉,否則將長期保持對檔案的鏈結狀態,造成記憶體溢位的現象發...

python 檔案操作總結

1.開啟檔案 filename,從裡面讀東西 f file filename r 注意 逐行讀入 for line in f 讀一行 line f.readline 這樣回把最後的換行符 假設有 讀入,去 即等價於操作 line line 1 或 line line.strip n 讀取指定的一行 ...

python檔案操作總結

一,open 模式方法總結 w 以寫方式開啟,a 以追加模式開啟 從 eof 開始,必要時建立新檔案 r 以讀寫模式開啟 w 以讀寫模式開啟 參見 w a 以讀寫模式開啟 參見 a rb 以二進位制讀模式開啟 wb 以二進位制寫模式開啟 參見 w ab 以二進位制追加模式開啟 參見 a rb 以二進...