Python中带有argparse的可选stdin

问题描述 投票:63回答:3

我发现了非常有用的语法

parser.add_argument('-i', '--input-file', type=argparse.FileType('r'), default='-')

用于指定输入文件或使用stdin-我都希望在程序中使用这两个文件。但是,并非总是需要输入文件。如果我没有使用-i或使用[]之一重定向输入

$ someprog | my_python_prog
$ my_python_prog < inputfile

我不希望我的Python程序等待输入。我希望它继续前进并使用默认值。

我发现了非常有用的语法parser.add_argument('-i','--input-file',type = argparse.FileType('r'),default ='-')),用于指定输入文件或使用stdin —我都希望在程序中使用它们。 ...

python stdin argparse
3个回答
111
投票

[标准库documentation for argparse建议此解决方案允许可选的输入/输出文件:


22
投票

无论程序是在交互式会话中还是从文件中读取,请使用isattydetect


0
投票

fileinput的基础上,明确回答问题:

© www.soinside.com 2019 - 2024. All rights reserved.