python执行shell并获取结果
原创Python执行Shell命令并获取导致
在Python中,我们时常需要执行一些Shell命令,并获取命令执行后的导致。这可以通过多种方案实现,其中最常用的是使用标准库中的subprocess
模块。以下是怎样使用这个模块的一个单纯示例。
使用subprocess模块
subprocess
模块提供了一个单纯的方法run()
,可以用来执行Shell命令并获取命令执行的输出。
示例代码:
import subprocess
def execute_shell_command(cmd):
try:
result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, text=True)
if result.stderr:
return f"不正确:{result.stderr}"
return result.stdout
except Exception as e:
return f"执行命令时出现异常:{e}"
# 执行Shell命令
cmd = "ls -l"
output = execute_shell_command(cmd)
print(output)
上面的代码定义了一个函数execute_shell_command
,它接收一个Shell命令字符串cmd
作为参数。该函数执行以下操作:
- 调用
subprocess.run()
方法执行Shell命令。 - 获取命令的标准输出(stdout)和不正确输出(stderr)。
- 如果命令执行有不正确,返回不正确信息。
- 否则,返回标准输出内容。
获取命令执行导致
当调用execute_shell_command
函数时,它会返回Shell命令执行后的输出,你可以像上面的例子一样直接打印输出导致。
需要注意的是,使用Shell命令时应该总是小心,由于不正确的命令或不受信心的输入或许会引起保险风险。在实际应用中,应该对传入的命令进行适当的验证和清理。
结语
通过上述方法,Python可以很方便地执行Shell命令并获取导致,这在自动化脚本和系统管理工作中非常有用。