2014-11-03 76 views
0

我有一個名爲「folders」的文本文件,並在其中列出了我想要運行功能的目錄(可以包含通配符)。Python命令在文本文件中指定的目錄上運行功能

folders.txt:

Images*\  //Any folders that start with Images) 
Music\Rap  //The specific folder Music\Rap) 
Video\Horror //The specific folder Video\Horror) 

Python代碼:

directories = folders.readlines() 
for lines in directories: 
    lines = lines.strip() 
    command= 'dir ' + RootPath + '\\' + lines + ' /B' 
    result = subprocess.check_output(command, shell=True) 
    for line in result.split('\r\n'): 
    Execute function 

我決定使用dir命令的原因,這是我知道如何處理通配符的唯一途徑。但運行「dir c:\ Music \ Rap/B」會列出該目錄內的所有文件,而不是目錄本身。有一個更好的方法嗎?

+0

使用'glob',它將返回匹配 – Hackaholic 2014-11-03 23:28:36

+0

使用'os.listdir'或'os.walk'如果你需要搜索子目錄 – 2014-11-03 23:45:54

回答

0

glob模塊包含根據文件系統內容擴展通配符的方法。例如:

import glob 
result = glob.glob('Images*') 
相關問題