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

时间:2011-11-20 11:51:27

标签: python

我正在编写一个python脚本,应该管理我正在运行的文件。我想在运行之前确保源文件和目标文件夹存在,我可以使用os.path.exists执行此操作。但是,我有一组foldernames runner<i>。有没有办法检查是否有一些以该名称开头的文件夹?

例如,如果在路径中 /path/to/runners 我至少有一个名为runner的文件夹:

  

/ path / to / runners / $ ls   FILE1.TXT
  FILE2.TXT
  文件夹1
  文件夹2
  runner1   runner35
  zfolder

然后结果是真的。删除runner1 runner35,它将为false。

3 个答案:

答案 0 :(得分:11)

您可以执行以下操作:

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

使用有用的any functiongenerator expression

答案 1 :(得分:5)

import glob

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

答案 2 :(得分:4)

Mark Longair的回答非常好,这种表达式的(等效)替代方法是使用glob:

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