首页 > 代码库 > 【python自动化第九篇:进程,线程,协程】

【python自动化第九篇:进程,线程,协程】

简要:

  1. 进程与线程
  2. python GIL全局解释器锁

一、PARAMIKO模块

  • 实现远程ssh执行命令
#!/usr/bin/env python# -*- coding:utf-8 -*-#Author:wanghuiimport paramikossh = paramiko.SSHClient()                                                             #创建ssh对象ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())                              #允许连接不在know_hosts文件中的主机ssh.connect(hostname=‘192.168.1.102‘,port=22,username=‘wanghui‘,password=‘123456‘)     #开始连接服务器stdin,stdout,stderr = ssh.exec_command(‘df‘)                                           #执行命令#resault = stdout.read()                                                               #收集命令执行结果#print(resault.decode())#三元运算实现res,err = stdout.read(),stderr.read()resault = res if res else errprint(resault.decode())ssh.close()                                           #关闭连接
  • 远程传输文件 
#!/usr/bin/env python# -*- coding:utf-8 -*-#Author:wanghuiimport paramikotransport = paramiko.Transport((‘10.70.18.2‘,22))       #创建传输对象transport.connect(username=‘root‘,password=‘abc/123‘)   #登录认证sftp = paramiko.SFTPClient.from_transport(transport)    #创建sftp对象sftp.put(‘test‘,‘/opt/ssh_transe.txt‘)                 #上传文件到/opt下,存放名称改为ssh_transe.pysftp.get(‘/opt/ssh_transe.txt‘,‘test2‘)                 #下在文件到当前目录下并改名为test2transport.close()                                       #关闭连接
  • 使用密钥ssh链接远程机执行命令 
#!/usr/bin/env python# -*- coding:utf-8 -*-#Author:wanghuiimport paramiko
private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa‘) #创建私钥对象,指定私钥文件ssh = paramiko.SSHClient() #实例化sshssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #自动添加到对方的know_hosts文件ssh.connect(hostname=‘10.70.18.2‘,port=22,username=‘root‘,pkey=private_key) #使用私钥链接机器stdin,stdout,stderr = ssh.exec_command(‘ls /opt‘) #执行第一条命令resault = stdout.read() print(resault.decode())stdin,stdout,stderr = ssh.exec_command(‘df‘) #执行第二条命令resault1 = stdout.read()print(resault1.decode())ssh.close()
  • 使用密钥sftp收发文件
#!/usr/bin/env python# -*- coding:utf-8 -*-#Author:wanghuiimport paramikoprivate_key=paramiko.RSAKey.from_private_key_file(‘id_rsa‘)   #创建私钥对象,指定私钥文件transport = paramiko.Transport((‘10.70.18.2‘,22))             #创建传输对象transport.connect(username=‘root‘,pkey=private_key)             #指定用户和私钥连接sftp= paramiko.SFTPClient.from_transport(transport)               #创建sftp实例#sftp.put(‘test2‘,‘/opt/ssss‘)                                    #上传文件sftp.get(‘/opt/ssss‘,‘message.txt‘)                           #下载文件

  

 

【python自动化第九篇:进程,线程,协程】