python paramiko模块和多线程讲解
1、paramiko 实现ssh 登录
import paramiko # 实现ssh登录
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程主机 ssh_client.connect(hostname='172.30.2.129',port=22,username='root',password='cy201061')
stdin,stdout,stderr = ssh_client.exec_command("free -m ")
res,err = stdout.read(),stderr.read()
result = res if res else err
print(result.decode())
ssh_client.close()
2、paramiko 实现简单的文件传输
#实现上传
transport = paramiko.Transport("172.30.2.129",22)
transport.connect(username="root",password="cy201061")
fptclient = paramiko.SFTPClient.from_transport(transport)
fptclient.put('11.txt','/tmp/test.txt')
fptclient.get('/root/.ssh/id_rsa','prive.txt')
3、paramiko 基于秘钥的免秘钥传输
# Author : xiajinqi import paramiko
ssh_client = paramiko.SSHClient()
private_key = paramiko.RSAKey.from_private_key_file('prive.txt') ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='172.30.2.130',port=22,username='root',pkey=private_key) stdin,stdout,stderr = ssh_client.exec_command("free -m ")
res,err = stdout.read(),stderr.read()
res = res if res else err
print(res.decode())
ssh_client.close()
4、线程和进程的区别
1、进程是资源管理调度的集合,进程要操作cpu,必须先创建一个线程
2、线程是 一串指令集合,是cpu能够调度的最小的单位。
3、同一个进程的不同线程共享同一块内存。不同进程之间内存之间是相互隔离的。即进程之间除父进程可以调用子进程意外不可以相互调用,线程之间可以相互调用共享数据。
4、一个进程至少有一个主线程,主线程可以创建多个子线程。
线程是平台的。A线程创建B线程,A不存在以后,B依旧可以继续运行,B可以继续创建其他线程。创建以后相互平台、独立的。
5、先有进程再有线程。 每个进程都有一个独立PID,内存是独立的。
6、创建新的线程很简单。创建新的进程需要copy父进程进行一次克隆(比喻内存)
5、简单多线程实例
import threading def run(tt):
print("hello world") t1 = threading.Thread(target=run,args=('t1',))
t2 = threading.Thread(target=run,args=('t2',)) t1.run()
t2.run()
6、多线程时间测试案例
import threading
import time def run(i):
print("test %s"%(i))
time.sleep(2) for i in range(1,50):
t1 = threading.Thread(target=run,args=(i,))
t1.start() print("end") E:\Users\xiajinqi\PycharmProjects\Atm\venv\Scripts\python.exe E:/Users/xiajinqi/PycharmProjects/Atm/test3.py
test 1
test 2
test 3
test 4
test 5
test 6
test 7
test 8
test 9
test 10
test 11
test 12
test 13
test 14
test 15
test 16
test 17
test 18
test 19
test 20
test 21
test 22
test 23
test 24
test 25
test 26
test 27
test 28
test 29
test 30
test 31
test 32
test 33
test 34
test 35
test 36
test 37
test 38
test 39
test 40
test 41
test 42
test 43
test 44
test 45
test 46
test 47
test 48
test 49
end Process finished with exit code 07/
python paramiko模块和多线程讲解的更多相关文章
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
- python paramiko模块学习分享
python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...
- Python paramiko 模块
paramiko模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh ...
- Python Paramiko模块
代码来自:http://www.cnblogs.com/wupeiqi/articles/4356675.html 今天学到了一个运维方面的利器:python的paramiko模块. paramiko ...
- python paramiko模块简介
一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- python(nmap模块、多线程模块)
http://xael.org/pages/python-nmap-en.html nmap模块 http://www.tutorialspoint.com/python/python_m ...
- Python paramiko模块基本使用(一)
使用paramiko模块登录远程主机,对日志进行统计分析. import paramiko def batch_count(days, hours, ips, user, passwd, source ...
- Python Paramiko模块安装和使用
1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...
- python paramiko 模块简单介绍
背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...
随机推荐
- java字节码文件指令集
网上找的没有指令码这列 自己把它加上 更方便查阅 指令从0x00-0xc9 没有0xba 常量入栈指令 指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null nu ...
- 海量数据处理面试题(1) 找出两文件种包含的相同的url
问题:给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 分析:50亿个url,每个url64字节,就是320G,显然是无法一次读入内存 ...
- Android开发(7)数据库和Content Provider
问题聚焦: 思想:应用程序数据的共享 对数据库的访问仅限于创建它的应用程序,但是事情不是绝对的 Content Provider提供了一个标准的接口,可供其他应用程序访问和使用其他程序的数据 下面我们 ...
- Python初学者第十四天 三元运算及文件处理2
14day 1.三元运算: 又称三目运算,是对简单的条件语句的简写 如简单条件语句: if a > b: n = a else: n = b print(n) 三目运算语句: n = a if ...
- Python学习---Django的基础学习
django实现流程 Django学习框架: #安装: pip3 install django 添加环境变量 #1 创建project django-ad ...
- Java中的Scanner类
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入.创建Scanner对象的基本语法: Scanner s = new Scanner(System. ...
- Maven编译Java程序配置
Hive 需要在工程里添加的Jar包: hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar $HIVE_HOME/lib/hive-exe ...
- python strip()
函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.lstrip(rm) 删除s字符串中开头 ...
- HTML的CoreText流畅度超过WebView。CoreText第三方框架DTCoreText的介绍
为什么要用CoreText(富文本)来取代WebView去显示内容.主要的原因就WebView有很大的问题,性能,FPS,卡顿,与原生不搭.这些都是大问题. WebView的缺点 1.直接使用WebV ...
- 【[国家集训队] Crash 的文明世界】
先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 ...