【问题标题】: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

    【讨论】: