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 ...
随机推荐
- setfacl 命令的常用用法
setfacl命令----可以用来细分linux下的文件权限. chmod命令----可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,set ...
- 3.5星|《刷屏:视频时代的风传法则》:YouTube热门视频回顾与分析
刷屏:视频时代的疯传法则 作者2010年加入YouTube.本书是作者对YouTube上的热门视频的回顾与分析.第2-9章各讲一个类别的热门视频:恶搞.混音.网络歌曲.广告.现场目击.知识与科技.小众 ...
- codeforces 17C Balance(动态规划)
codeforces 17C Balance 题意 给定一个串,字符集{'a', 'b', 'c'},操作是:选定相邻的两个字符,把其中一个变成另一个.可以做0次或者多次,问最后可以生成多少种,使得任 ...
- vs项目同步到gitee方法
前提:vs配置过登录后 进入命令行后执行: git push --set-upstream origin master
- 16.1 eclipse设置
内容:删除注释自动生成:添加自己使用的模板syso:设置字体:设置黑色主题 // 删除注释自动生成,强迫症表示很受不了那个什么自动生成方法注释,所以我把它关了 我之前的截图,删除那个todo的注释行 ...
- vue-cli + webpack自动生成项目
# 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack palanWebsit ...
- MathUtils BigDecimal 数字工具类
package com.hxqc.basic.dependency.util; import org.apache.commons.lang.StringUtils; import java.math ...
- UVa 1640 - The Counting Problem(数论)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Linux 循环遍历文件目录
操作系统: Unbuntu 问题域:在一个文件目录下,嵌套有多个子目录,需要遍历这些子目录,并在子目录下进行相关操作,譬如:批量重命名,目录下的文件:又或者需要,设定工程目录(mvn versions ...
- git回滚线上代码
由于之前自己推代码的时候操作失误,push代码的时候没有push到线上的dev分支,而是push到了线上master分支(主要是因为没有在命令后写分支名,直接推到默认master分支上了),覆 ...