通过python实现linux测试环境常用方法

python支持库安装

这里我们使用Paramiko库对linux进行操作,使用pip进行库的下载安装

pip install paramiko --default-timeout=60
pip install paramiko -i https://pypi.douban.com/simple/ 
--trusted-host pypi.douban.com

linux环境准备

需开启SSH服务( 如何检查及开启SSH 戳这里 )

常用操作

# coding:utf-8
import paramiko

# 创建SSHClient实例对象
ssh = paramiko.SSHClient()

# 调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接远程机器 地址\端口\用户名密码
ssh.connect('192.168.32.130',22,'wf','wftest')

# 创建目录(exec_command传入的参数就是linux的操作命令)
# 每次执行exec_command方法,都会新建执行环境,当前路径在登录用户根目录
cmd = 'mkdir jcy2'
ssh.exec_command(cmd)

# 如果命令跨行
cmd  = '''echo '1234
5678
90abc' > myfile
'''

ssh.exec_command(cmd)

# 获取命令的执行结果(stdin:控制输入,stdout\stderr输出)
# cmd = 'cat myfile'
# 同行执行多个命令,前边的命令报错后面的命令仍然会执行
cmd = "pwd;mkdir jcy4;cd jcy4;pwd;mkdir jcy44"
stdin, stdout, stderr = ssh.exec_command(cmd)

output = stdout.read()+stderr.read()
print(output.decode('utf-8'))

# 传送文件到远程机器
sftp = ssh.open_sftp()
sftp.put('ftp1.py', '/home/wf/ftp1.py')
sftp.close()

# 获取远程机器文件( **不能获取远程机器文件夹,如需要则可以先使用tar命令打包,然后再获取 )
sftp = ssh.open_sftp()
sftp.get('/home/wf/ftp2.py', './ftp2.py')
sftp.close()

# 关闭SSHClient连接
ssh.close()

你可能感兴趣的:(通过python实现linux测试环境常用方法)