【发布时间】:2015-01-01 08:29:55
【问题描述】:
这是我同事编写的代码中的 sn-p。该代码用于出于某种目的在 python 中创建参数解析器。
if not sys.stdin.isatty():
# Running in pipe mode
pipe_mode = True
else:
opts.add_argument('address', nargs='+')
如果我们通过管道传输标准输入,它不会读取它。这就是我想要做的:
subprocess.Popen(["nomadly-geocode", "-o", "json", values[1]],
stdout=subprocess.PIPE)
由于我是 PIPE-ing 标准输出,它应该可以工作。但是我在无法识别参数的情况下收到此错误。 (如果我们使用命令行来运行它,该功能就可以正常工作)
错误:(假设值[1] = 悉尼)
usage: nomadly-cli-geocode [-h] [-o {parse,json,human}] [-u]
nomadly-cli-geocode: error: unrecognized arguments: Sydney
【问题讨论】:
标签: python pipe stdout stdin argparse