python 调用shell 脚本

复制代码
import subprocess

# 定义脚本路径和参数
script_path = './example.sh'
param1 = '参数1'
param2 = '参数2'
param3 = '参数3'

# 调用 Shell 脚本并传递参数
subprocess.run([script_path, param1, param2, param3])

如果版本较高的情况下可以使用这个命令

复制代码
import subprocess

# 定义脚本路径和参数
script_path = './example.sh'
param1 = '参数1'
param2 = '参数2'
param3 = '参数3'

# 调用 Shell 脚本并传递参数
result = subprocess.run([script_path, param1, param2, param3], capture_output=True, text=True)

# 输出脚本的结果
print("输出:", result.stdout)
print("错误:", result.stderr)
  • subprocess.run() 用于执行 Shell 命令或脚本。

  • 参数传递格式为列表 [script_path, param1, param2, param3],相当于在终端运行 ./example.sh 参数1 参数2 参数3。

  • capture_output=True 将标准输出和标准错误捕获到 result.stdout 和 result.stderr 中。

  • text=True 将输出以字符串形式返回,方便进一步处理。
    如果python 版本很低

    import subprocess

    调用 shell 脚本,并传入三个参数

    return_code = subprocess.call(['sh', 'your_script.sh', 'arg1', 'arg2', 'arg3'])

    print("Return Code:", return_code)

相关推荐
羲云网络1 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
且从容.3 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道3 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
橙橙笔记4 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事4 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
且从容.6 小时前
ubuntu安装flink
linux·ubuntu·flink
天天被压力7 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力7 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A7 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
小lo想吃棒棒糖7 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人