6066得票66回答
如何执行程序或调用系统命令?

如何在Python中调用外部命令,就像在shell或命令提示符中键入它一样?

1399得票24回答
运行Shell命令并捕获输出

我希望编写一个函数,能够执行Shell命令并将其输出作为字符串返回,无论是错误消息还是成功消息,我只想获得与命令行相同的结果。 你可以参考以下代码示例: 例如: def run_command(cmd): # ?????? print run_command('mysqladm...

625得票32回答
在Python中对子进程.PIPE进行的非阻塞读取

我正在使用subprocess模块启动一个子进程并连接到其输出流(标准输出)。我想能够对其标准输出执行非阻塞读取。是否有一种方法可以使.readline变为非阻塞或在调用.readline之前检查流中是否有数据?我希望这可以在Windows和Linux下可移植或至少起作用。 目前,我的做法是这...

431得票11回答
如何终止使用shell=True启动的Python子进程

我正在使用以下命令启动一个子进程:p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) 然而,当我尝试使用以下方式杀死进程时:p.terminate() 或者p.kill() 这个命令在后台一直运行,我想知道如何终止该进程。...

427得票15回答
将subprocess.Popen调用的输出存储在字符串中

我正在尝试在Python中进行系统调用,并将输出存储到一个字符串中以便在程序中操作。#!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") 我尝试了一些方法,包括这里的一些建议: Retrieving the ...

421得票9回答
Python subprocess/Popen使用修改后的环境

我认为以稍微修改的环境运行外部命令是一种非常常见的情况。这是我通常的做法:import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Pope...

414得票7回答
'shell=True' 在 subprocess 中的实际含义是什么?

我正在使用subprocess模块来调用不同的进程。然而,我有一个问题。 在下面的代码中:callProcess = subprocess.Popen(['ls', '-l'], shell=True) 和callProcess = subprocess.Popen(['ls', '-l'])...

388得票32回答
使用模块'subprocess'设置超时时间

以下是运行任意命令并返回其stdout数据的Python代码,如果退出代码非零则引发异常:proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=...

376得票8回答
如何使用`subprocess`命令与管道一起使用

我想使用subprocess.check_output()和ps -A | grep '进程名称'一起使用。我尝试了各种解决方案,但目前为止没有什么效果。请问有人可以指导我如何做吗?

369得票5回答
如何隐藏子进程的输出

我正在Ubuntu上使用eSpeak,并有一个打印并朗读消息的Python 2.7脚本:import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) eSpeak可以产生所需的声音,但会...