首页 > 代码库 > Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程)
Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程)
一、paramiko
二、进程、与线程区别
三、python GIL全局解释器锁
四、线程
- 语法
- join
- 线程锁之Lock\Rlock\信号量
- 将线程变为守护进程
- Event事件
- queue队列
- 生产者消费者模型
- Queue队列
一、paramiko
用于远程连接并执行简单的命令
使用用户名密码连接:
1 import paramiko 2 3 # 创建SSH对象 4 ssh = paramiko.SSHClient() 5 # 允许连接不在know_hosts文件中的主机 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 7 # 连接服务器 8 ssh.connect(hostname=‘172.16.5.163‘, port=22, username=‘root‘, password=‘111111‘) 9 10 # 执行命令11 stdin, stdout, stderr = ssh.exec_command(‘df‘)12 # 获取命令结果13 result = stdout.read()14 print(result.decode())15 16 # 关闭连接17 ssh.close()18 19 20 结果21 Filesystem 1K-blocks Used Available Use% Mounted on22 /dev/mapper/VolGroup-lv_root 51606140 1518048 47466652 4% /23 tmpfs 510172 0 510172 0% /dev/shm24 /dev/sda1 495844 33461 436783 8% /boot25 /dev/mapper/VolGroup-lv_home 2059640248 203016 1954813516 1% /home
使用公钥连接
import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(‘id_rsa.txt‘)#创建SSH对象ssh = paramiko.SSHClient()#允许连接不在know_host文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.connect(hostname=‘172.16.5.163‘,port=22,username=‘root‘,pkey=private_key)#执行命令stdin,stdout,stderr = ssh.exec_command(‘df -h‘)#获取命令结果restult = stdout.read()#打印执行结果print(restult.decode())#关闭连接ssh.close()
SFTPClient使用用户名密码完成上传下载
1 import paramiko 2 3 transport = paramiko.Transport((‘172.16.5.163‘,22)) 4 transport.connect(username=‘root‘,password=‘111111‘) 5 6 sftp = paramiko.SFTPClient.from_transport(transport) 7 # 将location.py 上传至服务器 /tmp/test.py 8 sftp.put(‘D:\\test1\\put.txt‘, ‘/tmp/put.txt‘) 9 # 将remove_path 下载到本地 local_path10 sftp.get(‘/tmp/get.txt‘, ‘D:\\test1\\get.txt‘)11 12 transport.close()
SFTPClient使用公钥完成上传下载
1 import paramiko 2 3 private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa.txt‘) 4 5 transport = paramiko.Transport((‘172.16.5.163‘, 22)) 6 transport.connect(username=‘root‘, pkey=private_key ) 7 8 sftp = paramiko.SFTPClient.from_transport(transport) 9 # 将location.py 上传至服务器 /tmp/test.py10 sftp.put(‘D:\\test1\\put.txt‘, ‘/tmp/put.txt‘)11 # 将remove_path 下载到本地 local_path12 sftp.get(‘/tmp/get.txt‘, ‘D:\\test1\\get.txt‘)13 14 transport.close()
二、进程、与线程区别
线程:是操作系统的最小调度单元,一堆指令的集合。
进程:操作CPU,必须先创建一个线程
进程和线程的区别启动一个线程比启动一个进程快,运行速度没有可比性。先有一个进程然后才能有线程。1、进程包含线程2、线程共享内存空间3、进程内存是独立的(不可互相访问)4、进程可以生成子进程,子进程之间互相不能互相访问(相当于在父级进程克隆两个子进程)5、在一个进程里面线程之间可以交流。两个进程想通信,必须通过一个中间代理来实现6、创建新线程很简单,创建新进程需要对其父进程进行克隆。7、一个线程可以控制或操作同一个进程里面的其它线程。但进程只能操作子进程。8、父进程可以修改不影响子进程,但不能修改。
Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。