Python: subprocess and running a bash script with multiple arguments(Python:子进程并运行具有多个参数的 bash 脚本)
问题描述
如何使用 subprocess 模块运行 bash 脚本,我必须为其提供几个参数?
How do I go about running a bash script using the subprocess module, to which I must give several arguments?
这是我目前正在使用的:
This is what I'm currently using:
subprocess.Popen(['/my/file/path/programname.sh', 'arg1 arg2 %s' % arg3],
shell = True)
bash 脚本似乎没有接受任何参数.非常感谢任何见解!
The bash script seems not to be taking any of the parameters in. Any insights are greatly appreciated!
推荐答案
将参数作为列表传递,参见 文档中的第一个代码示例:
Pass arguments as a list, see the very first code example in the docs:
import subprocess
subprocess.check_call(['/my/file/path/programname.sh', 'arg1', 'arg2', arg3])
如果 arg3 不是字符串;在传递给 check_call() 之前将其转换为字符串:arg3 = str(arg3).
If arg3 is not a string; convert it to string before passing to check_call(): arg3 = str(arg3).
这篇关于Python:子进程并运行具有多个参数的 bash 脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Python:子进程并运行具有多个参数的 bash 脚本
基础教程推荐
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
