【发布时间】:2014-10-21 07:19:21
【问题描述】:
我需要创建一个包装脚本,它从 shell 获取参数并将所有参数按原样传递给另一个脚本。
在 Perl 中,我会这样做:
system("/path/to/subprocess", @ARGV);
有没有办法在 Python 中做同样的事情?
【问题讨论】:
标签: python subprocess argv
我需要创建一个包装脚本,它从 shell 获取参数并将所有参数按原样传递给另一个脚本。
在 Perl 中,我会这样做:
system("/path/to/subprocess", @ARGV);
有没有办法在 Python 中做同样的事情?
【问题讨论】:
标签: python subprocess argv
调用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中有关各种功能的链接文档。
check_call(),除非您期望非零退出状态
shell = True。有什么事吗?