[英]Python how to read command line arguments by default
我在命令提示符下使用 Python,但我想更改命令行 arguments 的默认设置以从标准输入读取程序。 我可以通过在命令行 arguments 之前使用“-”来实现这种方式,但我希望默认情况下从标准输入读取它,以便命令行 arguments 出现在没有“-”的 sys.argv 中。 我怎样才能做到这一点?
如果我理解您的问题,您可以执行以下操作:
创建 master.py 文件:
import subprocess as sp
if __name__ == "__main__":
subprocess = sp.Popen(["python", "child.py"], stdin=sp.PIPE)
# pay attention stdin=sp.PIPE, otherwise you would not be able to send data to child subprocess
subprocess.communicate("Hi There\nDear Friend\nBye".encode('utf8')) # we send data here
创建 child.py - 它将从主进程 master.py 启动
import sys
if __name__ == "__main__":
for line in sys.stdin.read().split("\n"): # read data from master process
print(line + "!!!")
启动主进程。 你应该得到:你好!!! 亲爱的朋友!!! 再见!!!
我希望这是有用的答案,如果没有,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.