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...