如何通过Python查找目录中是否存在任何txt文件

时间:2014-03-01 11:38:55

标签: python file directory file-exists

我想找到使用python在特定目录中是否存在任何文件。

像这样;

if os.path.exists('*.txt'):
   # true --> do something
else:
   # false --> do something

4 个答案:

答案 0 :(得分:3)

您可以glob.iglob使用next

import glob
if next(glob.iglob('*.txt'), False):
     #do something
else:
     #do something else

如果glog.iglob返回一个空迭代器,那么将使用默认值False

或@ app2357112在评论中建议,我们只需使用any,因为它返回False一个空的可迭代。:

if any(glob.iglob('*.txt')):
     #do something
else:
     #do something else

答案 1 :(得分:2)

您可以将glob.glob与通配符一起使用,并检查它是否返回任何内容。例如:

import glob
if glob.glob('*.txt'):
    # file(s) exist -> do something
else:
    # no files found

请注意glob.glob返回与通配符匹配的文件列表(或空列表)。

答案 2 :(得分:1)

os.listdir()将为您提供目录中的所有内容 - 文件和目录

import os
if not os.listdir(dir):
    #do something
else:
    #do something

答案 3 :(得分:0)

对于那些从Google到达这里的人,您可以使用另一种解决方案来检查全局是否为空。

前面的答案本身就足够了,但是您也可以使用len()确定glob返回的文件数量,并将其用作比较。

if(len(glob.glob('*.txt')) == 0):
    #Glob has no files
else:
    #Continue

这将使您确认该glob是否包含文件。这还可以让您确认全局文件中是否有超过或少于特定数量的文件。