Python执行Shell命令返回结果

在Python中,我们经常需要执行一些Shell命令,并获取其执行结果。这在处理文件、系统操作等方面非常有用。本文将介绍如何在Python中执行Shell命令,并获取其返回结果。

使用subprocess模块执行Shell命令

Python中的subprocess模块提供了一个方便的接口来执行外部命令。我们可以使用subprocess.run()函数来执行Shell命令,并获取其返回结果。

import subprocess

result = subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
output = result.stdout.decode("utf-8")

print(output)

上面的代码会执行ls -l命令,并将其输出保存在output变量中。我们可以通过decode("utf-8")方法将字节流转换为字符串,最后输出结果。

示例应用

让我们通过一个简单的示例来演示如何执行Shell命令并获取其结果。假设我们想要统计某个目录下的文件数量,并将结果输出。

import subprocess

directory = "/path/to/directory"
result = subprocess.run(["ls", directory], stdout=subprocess.PIPE)
output = result.stdout.decode("utf-8")

file_count = len(output.split("\n")) - 1
print(f"Total number of files in {directory}: {file_count}")

上面的代码会统计指定目录下的文件数量,并输出结果。

状态图

下面是一个简单的状态图,展示了执行Shell命令的过程:

stateDiagram
    [*] --> Start
    Start --> Execute
    Execute --> Get_Result
    Get_Result --> [*]

结语

通过使用Python的subprocess模块,我们可以方便地执行Shell命令并获取其返回结果。这为我们在Python中与系统进行交互提供了更多的可能性。希望本文对你有所帮助,谢谢阅读!