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.stdoutresult.stderr 中。

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

    import subprocess

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

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

    print("Return Code:", return_code)

相关推荐
金銀銅鐵35 分钟前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab1 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
带派擂总1 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
金銀銅鐵4 小时前
n^5 和 n 的个位数是否总相等?
python·数学
aqi008 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵8 小时前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
戴为沐10 小时前
Linux内存扩容指南
linux
zylyehuo20 小时前
Linux 彻底且安全地删除文件
linux
ServBay1 天前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python