检查是否存在以特定字符串开头的文件夹

8 投票
3 回答
17124 浏览
提问于 2025-04-17 06:41

我正在写一个Python脚本,用来管理我的运行文件。我想在运行脚本之前,确保源文件夹和目标文件夹都存在,这可以通过 os.path.exists 来实现。不过,我有一组文件夹名称是 runner<i>。请问有没有办法检查一下是否有以这个名字开头的文件夹呢?

举个例子,如果在路径 /path/to/runners 下,我至少有一个文件夹叫 runner

/path/to/runners/ $ ls
file1.txt
file2.txt
folder1
folder2
runner1
runner35
zfolder

那么结果就是“真”。如果把 runner1 runner35 都删掉,那结果就变成“假”了。

3 个回答

6
import glob

if glob.glob('/path/to/runners/runner*'):
    print 'condition satisfied'

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。

7

Mark Longair的回答很好,另外一种相似的写法是使用glob:

import glob
if glob.glob('/path/to/runners/runner*'):
    print "At least one entry begins with 'runner'"
15

你可以这样做:

import os
if any(x.startswith('runner') for x in os.listdir('/path/to/runners')):
    print "At least one entry begins with 'runner'"

这里用到了一个很有用的 any 函数 和一个 生成器表达式

撰写回答