python glob文件是否存在

时间:2015-04-26 03:37:15

标签: python glob file-exists

testIDs=subprocess.Popen('ls cskpiSummary-310410-LTE-K-M2M-L-*UE1* | cut -d"-" -f7 | uniq', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
try:
        os.chdir(QMDLPath)
except OSError:
        print 'QMDL Directory not found'
        exit()

for testID in testIDs.stdout:
        for file in glob.glob("*"+testID+"*"):
                print file

有人能够指出我在这里做错了什么吗? testIDs = subprocess提取testID列表(例如:20150422111035146)。我想使用它作为一个模式来查看QMDLPath目录下是否存在文件,我已通过chdir更改了该模式。如果它出现“NOT”,则打印该测试ID,否则打印出没有文件丢失的消息。样本文件名将为diag-20150422111035146-server1.txt

1 个答案:

答案 0 :(得分:0)

问题是您正在从管道读取一行,该行包含换行符。当它包含在glob语句中时,它不匹配任何东西。您只需要从字符串末尾删除空格。将for循环行替换为:

for file in glob.glob("*"+testID.rstrip()+"*"):