2014-03-03 53 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] 
相关问题