📜  在 python 中执行 linux 命令(1)

📅  最后修改于: 2023-12-03 15:23:16.343000             🧑  作者: Mango

在 Python 中执行 Linux 命令

在 Python 中执行 Linux 命令是一项很有用的任务,尤其是在需要在 Python 脚本中调用外部程序时。下面我们将介绍如何在 Python 中执行 Linux 命令。

使用 os 模块

Python 内置的 os 模块提供了很多与操作系统交互的函数,其中就包括执行 Linux 命令的函数。

import os

# 执行 Linux 命令,返回结果
result = os.popen('ls').read()
print(result)

上面的代码通过 os.popen 函数执行 Linux 命令 ls,并将命令输出保存到 result 字符串中。输出结果可以通过 print 函数打印出来。

使用 subprocess 模块

Python 内置的 subprocess 模块提供了更高级的方式来执行 Linux 命令。

import subprocess

# 执行 Linux 命令,返回结果
result = subprocess.check_output(['ls', '-l'])
print(result.decode())

上面的代码通过 subprocess.check_output 函数执行 Linux 命令 ls -l,并将命令输出保存到 result 字节串中。由于输出内容为字节串,需要使用 decode 函数将其转换为字符串后再输出。

使用 sh 模块

Python 第三方库 sh 可以使执行 Linux 命令更加简洁明了。

import sh

# 执行 Linux 命令,返回结果
result = sh.ls('-l')
print(result)

上面的代码通过 sh.ls 函数执行 Linux 命令 ls -l,并将命令输出保存到 result 字符串中。

小结

本文介绍了在 Python 中执行 Linux 命令的三种方法:使用 os 模块、使用 subprocess 模块和使用 sh 模块。这些方法各有优缺点,具体使用时可以根据需求选择合适的方法。