argparse的标准库文档建议此解决方案允许可选的输入/输出文件:
>>> parser = argparse.ArgumentParser()>>> parser.add_argument('infile', nargs='?', type=argparse.FileType('r'),... default=sys.stdin)>>> parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),... default=sys.stdout)>>> parser.parse_args(['input.txt', 'output.txt'])Namespace(infile=<_io.TextIOWrapper name='input.txt' encoding='UTF-8'>, outfile=<_io.TextIOWrapper name='output.txt' encoding='UTF-8'>)>>> parser.parse_args([])Namespace(infile=<_io.TextIOWrapper name='<stdin>' encoding='UTF-8'>, outfile=<_io.TextIOWrapper name='<stdout>' encoding='UTF-8'>)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)