📜  在 python 脚本中执行命令 - Python (1)

📅  最后修改于: 2023-12-03 14:51:06.767000             🧑  作者: Mango

在 Python 脚本中执行命令 - Python

Python 是一款高级的编程语言,因其简单易学、面向对象、可移植、跨平台而成为了最受欢迎的编程语言之一。Python 的强大之处在于其包含了丰富的标准库和第三方库,可以快速实现各种功能。本文将探讨如何在 Python 脚本中执行命令。

os 模块

os(操作系统)模块提供了访问操作系统功能的接口。在 Python 中,可以使用 os 模块来执行终端命令。下面是它的基本用法:

import os

os.system("命令")

其中,“命令”是需要执行的终端命令。os.system() 函数会在当前进程中执行该命令,并返回执行后的状态码。例如,我们可以使用以下代码在 Python 中执行 ls 命令查看当前目录下的文件列表:

import os

os.system("ls")

输出大概是这样的:

LICENSE
README.md
main.py
subprocess 模块

subprocess 模块是 os 模块的一个替代品,并提供了更加强大和灵活的功能。它允许我们在 Python 脚本中直接创建新的进程并与其交互。

下面是 subprocess 模块的基本用法:

import subprocess

subprocess.run("命令", shell=True)

其中,“命令”是需要执行的终端命令。当 shell=True 时,将使用 shell 运行命令。subprocess.run() 函数将返回一个 CompletedProcess 对象,其中存储了执行命令的状态码等信息。例如,我们可以使用以下代码在 Python 中执行 ping 命令:

import subprocess

result = subprocess.run("ping google.com", shell=True)
调用系统命令并获取输出

有时候我们需要调用系统命令并获取其输出。可以使用子进程的标准输出来实现这个功能。下面是一个例子:

import subprocess

result = subprocess.run("ls", stdout=subprocess.PIPE)
print(result.stdout.decode())

在这个例子中,我们使用 subprocess.run() 函数执行了 ls 命令,并使用了 stdout=subprocess.PIPE 参数将标准输出重定向到了子进程管道中。接着,我们使用了 result.stdout.decode() 方法获取了命令的输出并对其进行了解码。

总结

在 Python 中,可以使用 os 模块和 subprocess 模块来执行终端命令。使用这些模块,我们可以在 Python 中调用系统命令,获取输出并处理它们。了解这些模块的基本用法,可以让我们在编写 Python 脚本时更加灵活和强大。