Python中如何遍歷指定目錄下的所有檔案

時間 2021-06-28 17:11:05

1樓:匿名使用者

例如:在c:\tddownload目錄下有a.

txt、b.txt兩個檔案,另有\sub1子資料夾,c:\tddownload\sub1下又有c.

txt、d.txt兩個檔案。

1. os.walk

os.walk()返回一個三元素的tuple:當前路徑、子資料夾名稱、檔案列表。

>>> import os

>>> def fun( path ):

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

... for fn in files:

... print root, fn

...>>> fun( r'c:\tddownload' )

c:\tddownload a.txt

c:\tddownload b.txt

c:\tddownload\sub1 c.txt

c:\tddownload\sub1 d.txt

>>>2. glob.glob

glob.glob()只接受一個引數,這個引數既代有路徑,又代有匹配模式,返回值為一個列表。注意,glob.glob()無法直接穿透子資料夾,需要自己處理:

>>> def fun( path ):

... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有檔案

... if os.path.isdir( fn ): # 如果結果為資料夾

... fun( fn ) # 遞迴

... else:

... print fn

...>>> fun( r'c:\tddownload' )

c:\tddownload\a.txt

c:\tddownload\b.txt

c:\tddownload\sub1\c.txt

c:\tddownload\sub1\d.txt

>>>'*'為匹配模式,代表匹配所有檔案,只有這樣才能將子資料夾查出來,以便遞迴深入,探查下一層的檔案。

2樓:

os.listdir("目錄名") 目錄下所有檔名

python,如何遍歷一個目錄,輸出所有檔名

3樓:

import os

def iterbrowse(path):

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

for filename in files:

yield os.path.join(home, filename)for fullname in iterbrowse("/home/bruce"):

print fullname

4樓:匿名使用者

result:

d:\workspace\pydemo\fas\file1\20141113\a.20141113-1100.log

d:\workspace\pydemo\fas\file1\20141113\a.20141113-1101.log

d:\workspace\pydemo\fas\file1\20141113\a.20141113-1140.log

d:\workspace\pydemo\fas\file2\20141113\a.20141113-1100.log

d:\workspace\pydemo\fas\file2\20141113\a.20141113-1101.log

d:\workspace\pydemo\fas\file2\20141113\a.20141113-1140.log

求通過python實現,在指定目錄下遍歷所有檔案,將以.txt為字尾的檔案移動到另一指定目錄中

5樓:

target_dir = 'home/' #假定要拷貝到home目錄

x = [ item for item in os.walk('.') ] #os.walk遞迴地遍歷所有子資料夾

#返回的是一個list,list中每一個元素由3個部分:(path, dirs, files)

for path, dirs, files in x:

for file in files:

if file.endswith('.txt'): #找到以txt結尾的,copy之

shutil.copy( path+os.sep+file , target_dir )

6樓:匿名使用者

從foldera copy *.txt到folderb:

dira='foldera'

dirb='folderb'

import os, shutil

for i in os.listdir(dira):

if i.endswith('.txt'):

shutil.copy(dira+os.sep+i, dirb+os.sep)

perl如何遍歷指定資料夾下的指定副檔名檔案並按

用正規表示式去找你要刪的檔案,匹配副檔名。用stat函式獲取檔案訪問 建立時間。 usr bin perl w my basedir ccd pa my num 20 my pattern log my files my dirs basedir die error basedir unless d...

linu中編寫shell指令碼將指定目錄中的檔案的文

bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在 data shell目錄中並已有執行許可權。方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 複製 如下 cd data shell hel...

python將指定文字中的字串替換後,儲存該文字檔案

徽積分 給個一行搞定的 with open inputfile.txt r as f,open outputfile.txt wb as g g.write n join filter lambda s s temp.txt and len s map lambda s s.replace test...