【发布时间】:2015-11-11 16:53:53
【问题描述】:
我见过类似的问题,但不是适用于这种情况的解决方案。我有一个 argparser 函数:
def IO_fileParse():
parser = argparse.ArgumentParser();
parser.add_argument("-i", dest="input_file", help="no file with this name")
args = parser.parse_args();
input_file = os.path.join(os.getcwd(),args.input_file)
if not os.path.exists(input_file):
print(" ------------------------------------------------");
print("Error: -input_file Cannot find input file with that name.");
print(" ------------------------------------------------");
parser.print_help();
sys.exit();
我想说“如果在目录中找不到带有 -i 名称的文件,请打印帮助并退出脚本。”
实际发生的情况是,这似乎用输入文件的名称创建了一个空文件?
如何将上述代码更改为“如果 -i 文件不存在,则告诉用户此文件不存在”(并且不要使用不存在的文件名创建空文件)。
我也尝试过 os.path.isfile 和 os.path.exists,也没有给我想要的错误?...如果不是 args.input_file 我也尝试过
【问题讨论】:
-
if not args.input_file因为它是可选的? -
我也试过 os.path.isfile 和 os.path.exists,也没有给我想要的错误?...如果不是 args.input_file 我也试过.
-
您有任何关于文件的电话到
open()吗?我在代码中看不到任何会生成文件的内容.. 并确保在测试之前删除文件(以防不明显:))