最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

python中遍歷文件的3個方法

來源:懂視網 責編:小采 時間:2020-11-27 14:30:58
文檔

python中遍歷文件的3個方法

python中遍歷文件的3個方法:今天寫一個在windows下批量修改文件名的python腳本,用到文件的遍歷。用python進行文件遍歷有多種方法,這里列舉并說明一下。 os.path.walk() 這是一個傳統的用法。 walk(root,callable,args)方法有三個參數:要遍歷的目錄,回調函數,回調函數的參數(元組形
推薦度:
導讀python中遍歷文件的3個方法:今天寫一個在windows下批量修改文件名的python腳本,用到文件的遍歷。用python進行文件遍歷有多種方法,這里列舉并說明一下。 os.path.walk() 這是一個傳統的用法。 walk(root,callable,args)方法有三個參數:要遍歷的目錄,回調函數,回調函數的參數(元組形

今天寫一個在windows下批量修改文件名的python腳本,用到文件的遍歷。用python進行文件遍歷有多種方法,這里列舉并說明一下。

os.path.walk()

這是一個傳統的用法。

walk(root,callable,args)方法有三個參數:要遍歷的目錄,回調函數,回調函數的參數(元組形式)。

調用的過程是遍歷目錄下的文件或目錄,每遍歷一個目錄,調用回調函數,并把args作為參數傳遞給回調函數。

回調函數定義時也有三個參數,比如示例中的func中的三個參數,分別為walk傳來的參數、目錄的路徑、目錄下的文件列表(只有文件名,不是完整路徑)。請看示例:
代碼如下:


import os
s = os.sep #根據unix或win,s為\或/
root = "d:" + s + "ll" + s #要遍歷的目錄

def func(args,dire,fis): #回調函數的定義
for f in fis:
fname = os.path.splitext(f) #分割文件名為名字和擴展名的二元組
new = fname[0] + 'b' + fname[1] #改名字
os.rename(os.path.join(dire,f),os.path.join(dire,new)) #重命名

os.path.walk(root,func,()) #遍歷

這種方法在使用時有個問題,不能遞歸遍歷下一層(這點我還不確定,歡迎指正)。

python的高級版本中加入了os.walk(),比這個好用。

os.walk()

原型為:os.walk(top, topdown=True, onerror=None, followlinks=False)

我們一般只使用第一個參數。(topdown指明遍歷的順序)
該方法對于每個目錄返回一個三元組,(dirpath, dirnames, filenames)。第一個是路徑,第二個是路徑下面的目錄,第三個是路徑下面的非目錄(對于windows來說也就是文件)。請看示例:
代碼如下:


import os
s = os.sep
root = "d:" + s + "ll" + s

for rt, dirs, files in os.walk(root):
for f in files:
fname = os.path.splitext(f)
new = fname[0] + 'b' + fname[1]
os.rename(os.path.join(rt,f),os.path.join(rt,new))

這種方式可以遞歸遍歷所有的文件。

listdir

可以使用os模塊下的幾個方法組合起來進行遍歷。請看示例:

代碼如下:


import os
s = os.sep
root = "d:" + s + "ll" + s

for i in os.listdir(root):
if os.path.isfile(os.path.join(root,i)):
print i

這里需要注意的是,其中的i是目錄或文件名,不是完整的路徑,在使用時要結合os.path.join()方法還原完整路徑。

遍歷搞定之后,文件名的修改可以使用正則表達式做一些高級的處理。

另外,還可以使用os.system(cmd)來調用shell里面的相關命令對文件進行處理,很好很強大。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python中遍歷文件的3個方法

python中遍歷文件的3個方法:今天寫一個在windows下批量修改文件名的python腳本,用到文件的遍歷。用python進行文件遍歷有多種方法,這里列舉并說明一下。 os.path.walk() 這是一個傳統的用法。 walk(root,callable,args)方法有三個參數:要遍歷的目錄,回調函數,回調函數的參數(元組形
推薦度:
標簽: 文件 方法 三個
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
国产精品久久久久精品…-国产精品可乐视频最新-亚洲欧美重口味在线-欧美va免费在线观看