【问题标题】:Python: How to pass ARGV parameters to another script?Python:如何将 ARGV 参数传递给另一个脚本?
【发布时间】:2014-10-21 07:19:21
【问题描述】:

我需要创建一个包装脚本,它从 shell 获取参数并将所有参数按原样传递给另一个脚本。

在 Perl 中,我会这样做:

system("/path/to/subprocess", @ARGV);

有没有办法在 Python 中做同样的事情?

【问题讨论】:

    标签: python subprocess argv


    【解决方案1】:

    调用subprocess.call 时使用sys.argv 减去第一个元素,即Python 脚本的名称。

    import subprocess
    import sys
    
    subprocess.call(["/path/to/subprocess"] + sys.argv[1:])
    

    date 为子进程的示例:

    $ python3 s.py
    Tue Oct 21 09:25:00 CEST 2014
    $ python3 s.py -R
    Tue, 21 Oct 2014 09:25:01 +0200
    

    【讨论】:

    • 太棒了!顺便说一句,subprocess.call() 是否像 subprocess.Popen() 一样工作?
    • 请阅读subprocess中有关各种功能的链接文档。
    • @user3322273:使用check_call(),除非您期望非零退出状态
    • 它不适用于shell = True。有什么事吗?
    • 你调用的命令是什么? “它不起作用”的详细含义是什么?
    猜你喜欢
    • 2014-04-08
    • 1970-01-01
    • 2016-10-26
    • 2011-11-01
    • 1970-01-01
    • 2012-04-13
    • 2013-08-27
    • 1970-01-01
    相关资源
    最近更新 更多