我有一个脚本,它处理作为参数传递给脚本的文件。如果传递给脚本的文件不存在,那么我想向标准错误写入一条错误消息。阅读了我可以在此处找到的所有相关帖子后,我无法理解为什么以下最小工作示例不起作用。如果文件存在,它会按预期运行,但如果文件不存在,它似乎什么也不做。
#!/usr/bin/env python3
import argparse, glob, sys
parser = argparse.ArgumentParser()
parser.add_argument("src_path", metavar="path", type=str,
help="Path to files to be merged; enclose in quotes, accepts * as wildcard for directories or filenames")
args = parser.parse_args()
files = glob.iglob(args.src_path)
for file in files:
try:
with open(file, 'r') as f:
sys.stdout.write('Fild exists: ' + file + '\n')
except IOError:
sys.stderr.write('File does not exist: ' + file + '\n')