如何使用Python查找目录中是否有任何txt文件

ero*_*a84 6 python directory file file-exists

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

像这样的东西;

if os.path.exists('*.txt'):
   # true --> do something
else:
   # false --> do something
Run Code Online (Sandbox Code Playgroud)

ise*_*dev 6

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

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

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


Ash*_*ary 5

您可以glob.iglob使用next

import glob
if next(glob.iglob('*.txt'), False):
     #do something
else:
     #do something else
Run Code Online (Sandbox Code Playgroud)

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

或者正如 @user2357112 在评论中建议的那样,我们可以简单地使用anyas 它返回False一个空的可迭代对象:

if any(glob.iglob('*.txt')):
     #do something
else:
     #do something else
Run Code Online (Sandbox Code Playgroud)

  • 为什么不只是“any”迭代器? (2认同)