如何用Python检查目录中是否有txt文件?

7 投票
4 回答
6039 浏览
提问于 2025-04-17 20:25

我想用Python检查一个特定的文件夹里是否存在某个文件。

大概是这样的;

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

4 个回答

0

os.listdir() 这个函数可以让你获取一个文件夹里面的所有东西,包括文件和子文件夹。

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

你可以使用 glob.iglob 配合 next 来实现:

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

在这里,如果 glob.iglob 返回的是一个空的迭代器,那么默认值 False 就会被使用。

或者像 @user2357112 在评论中提到的,我们也可以简单地使用 any,因为它在遇到空的可迭代对象时会返回 False

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

你可以使用 glob.glob 这个功能,配合通配符来查找文件,并检查它是否返回了任何结果。比如说:

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

需要注意的是, glob.glob 会返回一个符合通配符的文件列表(如果没有找到文件,则返回一个空列表)。

撰写回答