fileinput.input()的Python模拟输出是什么?

时间:2015-12-03 07:48:36

标签: python file stdout

fileinput.input()允许简单地遍历通过sys.argv[1:]sys.stdin提供的输入文件列表中的所有行,如果前者为空。

是否有一种类似的简单方法输出到最后一个参数,如果给定,sys.stdout否则?

2 个答案:

答案 0 :(得分:0)

您可以使用argparse模块并添加如下命令行参数:

parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),
                    default=sys.stdout)

答案 1 :(得分:0)

您可以检查最后一个参数是否是一个文件,在这种情况下它是一个输入,所以将输出设置为sys.stdout,否则打开一个新名称作为输出的文件并将其从{{1}中删除}。

或者只使用sys.stdout,让您的用户使用sys.argv存储到文件中。