带有模式匹配的不存在文件上的globe

时间:2015-03-18 07:07:10

标签: python

我有这个片段,它基本上检查文件是否存在模式匹配。请帮我一个更好的方法来做到这一点。

import glob

for afile in glob.glob( "*.non-existant-file" ):
    print afile 
try:
    if afile:
        print "OK"
except:
    print "Come back later"

2 个答案:

答案 0 :(得分:3)

要测试是否存在给定名称的文件,最简单的方法是使用os.path.isfile

但是,如果您只是拥有该模式,那么查找它们确实可以使用glob来完成。 glob.glob将返回与模式匹配的文件名称(可能为空)。如果您只想测试它们是否存在,请查看此列表的长度:

if glob.glob(pattern):
    print('There are some files matching the pattern.')
else:
    print('No files matching the pattern.')

答案 1 :(得分:0)

试试这个:

#this will print out all the files which end with the extension py.
for filenames in glob.glob(r"*.py"):
  print(filenames)

#this will print out all the files which end with the extension py. and have "n" in their name.
for filenames in glob.glob(r"*n*.py"):
   print(filenames)