在Python中执行Linux命令,你可以使用以下几种方法:
使用`os.system`:
import os
os.system('ls -l')
此方法会创建一个子进程来运行命令,但不会返回命令执行后的输出。
使用`os.popen`:
import os
with os.popen('ls *.py') as pipe:
output = pipe.readlines()
print(output)
`os.popen`方法可以执行命令并返回一个文件对象,你可以通过读取文件对象来获取命令的输出。
使用`subprocess`模块:
import subprocess
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8'))
`subprocess.run`函数提供了更灵活的控制,比如捕获命令的输出、设置超时等。
使用`subprocess.Popen`:
import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
output, _ = p.communicate()
print(output.decode('utf-8'))
`Popen`接口提供了更底层的控制,比如可以设置命令行参数、环境变量等。
请根据你的需求选择合适的方法来执行Linux命令。需要注意的是,当处理包含中文的输出时,推荐使用`subprocess`模块,因为它可以更好地处理字符编码问题