2016-01-31 83 views
-1

我在一個目錄中有很多文件,可以說大約100個文件名,其大部分文件名以「Mod」開頭,我需要將所有以「Mod」開頭的文件名添加到列表中我可以稍後在我的代碼中引用它們。任何幫助?謝謝!某些名稱的文件名掃描Python

+0

,但事實證明,它只是在尋找一個名爲mod的列表! –

回答

0

您可以使用glob庫中查找與給定模式的文件:

import glob,os 
mylist=[] 
os.chdir("/mydir") 
for file in glob.glob("Mod*"): 
     mylist.append(file) 

print mylist 

,或者你可以,如果「國防部」在我嘗試使用的使用os.walk

for root, dirs, files in os.walk('/mydir'): 
    for names in files: 
     if names.startswith("Mod"): 
      mylist.append(os.path.join(root, names)) 
2

使用glob包。

import glob 

filepaths = glob.glob('/path/to/file/Mod*') 

更一般地說,您可以使用os.listdir。不像glob,它只返回文件名的最後部分(沒有完整路徑)。

import os 

directory = '/path/to/directory' 
filenames = os.listdir(directory) 

full_filepaths = [os.path.join(directory, f) for f in filenames] 
only_files = [f for f in full_filepaths if os.path.isfile(f)]