繁体   English   中英

Python 默认如何读取命令行 arguments

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM