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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自动化第九篇:进程,线程,协程相关的知识,希望对你有一定的参考价值。

简要:

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

一、PARAMIKO模块

  • 实现远程ssh执行命令
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:wanghui
import paramiko

ssh = 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 err
print(resault.decode())
ssh.close()                                           #关闭连接
  • 远程传输文件 
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:wanghui
import paramiko
transport = 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.py
sftp.get(‘/opt/ssh_transe.txt‘,‘test2‘)                 #下在文件到当前目录下并改名为test2
transport.close()                                       #关闭连接
  • 使用密钥ssh链接远程机执行命令 
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:wanghui
import paramiko
private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa‘) #创建私钥对象,指定私钥文件 ssh = paramiko.SSHClient() #实例化ssh ssh.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:wanghui
import paramiko
private_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自动化第九篇:进程,线程,协程的主要内容,如果未能解决你的问题,请参考以下文章

Python开发第九篇:协程异步IO

第九篇:进程与线程

Python学习笔记——进阶篇第九周———线程进程协程篇(队列Queue和生产者消费者模型)

python之路

python成长之路第九篇:网络编程

python学习之路