在Python中执行Linux命令可以通过多种方法实现,每种方法都有其优缺点和适用场景。以下是一些常见的方法及其应用示例:
1. 使用os.system
python
import os
os.system('ls -l')
2. 使用os.popen
python
import os
result = os.popen('ls -l').read
print(result)
3. 使用subprocess模块
python
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
4. 使用paramiko模块(适用于远程执行)
python
import paramiko
ssh = paramiko.SSHClient
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect('remote_server_ip', username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read.decode)
ssh.close
应用示例
示例1:获取系统信息
python
import subprocess
获取系统负载信息
result = subprocess.run('uptime', capture_output=True, text=True)
print(result.stdout)
获取磁盘使用情况
result = subprocess.run('df -h', capture_output=True, text=True)
print(result.stdout)
示例2:文件操作
python
import os
创建目录
os.system('mkdir new_directory')
复制文件
os.system('cp file.txt new_directory/')
删除文件
os.system('rm new_directory/file.txt')
示例3:远程服务器操作
python
import paramiko
连接远程服务器
ssh = paramiko.SSHClient
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect('remote_server_ip', username='username', password='password')
在远程服务器上执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read.decode)
关闭连接
ssh.close
Python执行Linux命令的方法有多种,选择合适的方法取决于具体的应用场景和需求。os.system适用于简单的命令执行,os.popen适用于获取命令输出,subprocess模块提供了更灵活的命令执行和输出捕获功能,而paramiko模块则适用于远程服务器的命令执行。在实际应用中,可以根据具体情况选择最合适的方法来执行Linux命令。