2014-03-03 57 views
0

我有一個文件名(mytest.)有3個或更多後綴( 「.TXT」, 「 .SHP」, 「.SHX」,」的.dbf 「)在目錄中(path = 'C://sample')。我希望列出名稱相同的Python檢查所有文件具有特定名稱的目錄

我知道有import glob可以列出所有的文件具有特定後綴

我的問題是如何列出目錄中的所有「mytest的」所有文件

ex 

mytest.txt 
mytest.shp 
mytest.bdf 
mytest.shx 

mylist = ["mytest.txt","mytest.shp","mytest.bdf","mytest.shx"] 


mytest.txt 
mytest.shp 
mytest.bdf 
mytest.shx 
mytest.pjr 

mylist = ["mytest.txt","mytest.shp","mytest.bdf","mytest.shx","mytest.pjr"] 
+1

那麼,你的問題是什麼? –

+0

謝謝Maxime。我的問題是如何在目錄中列出所有「mytest」 –

+0

這裏沒有字典,所以...你的問題是什麼? –

回答

5

您正在尋找的glob module,當你在你的問題說,但在擴展通配符:

import glob 
glob.glob("mytest.*") 

例:

$ ls 
a.doc a.pdf a.txt b.doc 

$ python 
Python 2.7.3 (default, Dec 18 2012, 13:50:09) [...] 
>>> import glob 
>>> glob.glob("a.*") 
['a.doc', 'a.pdf', 'a.txt'] 
>>> 
3

如果你有一個名爲mylist其他文件沒有你要找的擴展,這可能是一個更好的解決方案:

import glob 

extensions = ["txt","shp","bdf","shx"] # etc 

mylist = list() 
for ext in extensions: 
    mylist += glob.glob("mylist.{}".format(ext)) 

或者可能更容易:

mylist = [item for item in glob.glob('mylist.*') if item[-3:] in extensions] 
相關問題