【问题标题】:Run shell script in python with specific parameters使用特定参数在 python 中运行 shell 脚本
【发布时间】:2026-01-16 11:20:03
【问题描述】:
我想运行一个脚本,我们称之为api.sh。该脚本接受各种参数,
- -t 令牌
- -r rules.json
- -s data.json
它将创建一个新的 json 文件,例如data_2.json.
当我在终端中运行它时,我使用以下命令:
./api.sh -t token -r rules.json -s data.json > data_2.json
但是,我希望在 Python 中运行这个命令行。任何建议表示赞赏。
谢谢,
【问题讨论】:
标签:
python
json
shell
terminal
subprocess
【解决方案1】:
我不知道它是否支持python,但你可以使用getopts。
看here
【解决方案2】:
这test.py 工作吗:
import subprocess
from subprocess import Popen
path_to_output_file = 'data_2.json'
myoutput = open(path_to_output_file,'w+')
p = Popen(["./api.sh", "-t" , "token", "-r", "rules.json", "-s", "data.json"], stdout=myoutput, stderr=subprocess.PIPE, universal_newlines=True)
output, errors = p.communicate()
详情可以参考this。