2013-05-07 66 views
1

我是一個noob蟒蛇,我想完成這個簡單的任務。我想要訪問多個目錄中的多個目錄。我沒有多個目錄的名稱。我需要進入目錄,合併一些文件,移回目錄,然後進入下一個目錄,合併一些文件,退出它,等等........我需要當然我不會多次訪問同一個目錄。移動到一個目錄,而不知道它的名字

我環顧四周,嘗試各種命令,但什麼都沒有。

+0

也許這將有助於:http://stackoverflow.com/questions/973473/getting-a-list-of-all-subdirectories-in-the-current-directory – 2013-05-07 04:56:29

回答

2

嘗試使用類似下面的代碼:

import os, fnmatch 

def find_files(directory, pattern): 
    for root, dirs, files in os.walk(directory): 
     for basename in files: 
      if fnmatch.fnmatch(basename, pattern): 
       filename = os.path.join(root, basename) 

       yield filename 

使用它是這樣的:

for filename in find_files('/home/', '*.html') 
    # do something 
0

有時候我發現水珠是有用的:

from glob import glob 
import os 

nodes = glob('/tmp/*/*') 

for node in nodes: 
    try: 
     print 'now in directory {}'.format(os.path.dirname(node)) 
     with open(node, 'r') as f: 
      # Do something with f... 
      print len(f.read()) 
    except IOError: # Because node may be a directory, which we cannot 'open' 
     continue 
相關問題