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
答案 0 :(得分:0)
问题是您正在从管道读取一行,该行包含换行符。当它包含在glob语句中时,它不匹配任何东西。您只需要从字符串末尾删除空格。将for循环行替换为:
for file in glob.glob("*"+testID.rstrip()+"*"):