python glob 文件是否存在
python glob file exist or not
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 提取 testIDs 列表(例如:20150422111035146)。我想用它作为模式来查看我通过 chdir 更改的 QMDLPath 目录下是否存在文件。如果存在 "NOT",则打印该测试 ID,否则打印一条消息,指出没有文件 missing.The 样本文件名将是 diag-20150422111035146-server1.txt
问题是您正在从管道中读取一行并且该行包含换行符。当它包含在 glob 语句中时,它不匹配任何内容。您只需要从字符串末尾去除空格。将 for 循环行替换为:
for file in glob.glob("*"+testID.rstrip()+"*"):
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 提取 testIDs 列表(例如:20150422111035146)。我想用它作为模式来查看我通过 chdir 更改的 QMDLPath 目录下是否存在文件。如果存在 "NOT",则打印该测试 ID,否则打印一条消息,指出没有文件 missing.The 样本文件名将是 diag-20150422111035146-server1.txt
问题是您正在从管道中读取一行并且该行包含换行符。当它包含在 glob 语句中时,它不匹配任何内容。您只需要从字符串末尾去除空格。将 for 循环行替换为:
for file in glob.glob("*"+testID.rstrip()+"*"):