__author__ = 'luozt'
import telnetlib
import multiprocessing
import random
def telnet(ip,hostname): tn = telnetlib.Telnet(ip)
print("begin telnet "+str(hostname)+"...")
tn.read_until("Username:".encode('ascii')) tn.write("nb".encode('ascii')+b"\n") tn.read_until(b"Password:")
tn.write("nb".encode('ascii') + b"\n") print(hostname.encode('ascii')) tn.read_until(hostname.encode('ascii')+ b">") tn.write("enable".encode('ascii') + b"\n") tn.read_until("Password:".encode('ascii'))
tn.write("nb".encode('ascii') + b"\n") tn.read_until(hostname.encode('ascii')+b'#') tn.write("terminal length 0".encode('ascii') + b"\n")
tn.read_until(hostname.encode('ascii')+b'#')
tn.write("show run".encode('ascii') + b"\n")
aa = tn.read_until(hostname.encode('ascii')+b'#')
#print(aa.decode('ascii')) aa1="C:\\tt\\"+hostname+".txt"
# with open("C:\\luo.txt",'a+') as ff:
with open(aa1,'a+') as ff:
ff.write(aa.decode('ascii'))
ff.write("exit%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
tn.write(b"exit\n")
#print("exit") def multitelnet(): try:
pool=multiprocessing.Pool(processes=4)
f=open("C:\\12345.txt","r")
num=1
multipro=[]
while True:
line=f.readline().strip('\n')
if line:
argu=line.split('\t')
#print (argu[0])
#print (argu[1])
print( '第'+str(num)+'个进程已启动')
num+=1
pool.apply_async(telnet,(argu[0],argu[1]))
# multipro.append(t)
# t.start()
# t.join()
# print( '第'+str(num)+'个进程已启动')
# num+=1
else:
break
f.close()
pool.close()
pool.join()
print ("Sub-process(es) done")
# for j in multipro:
# j.start()
# j.join()
# print( '第'+str(num)+'个进程已启动')
# num+=1
except Exception as e:
print (e) if __name__ == "__main__" :
multitelnet()
# telnet("172.25.11.2",b"mpls-vrf-PE1")

python实现进程的并发的更多相关文章

  1. python 使用多进程实现并发编程/使用queue进行进程间数据交换

    import time import os import multiprocessing from multiprocessing import Queue, pool ""&qu ...

  2. {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll

    Python之进程 进程 本节目录 一 背景知识 二 什么是进程 三 进程调度 四 并发与并行 五 同步\异步\阻塞\非阻塞 六 进程的创建与结束 七 multiprocess模块 八 进程池和mut ...

  3. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  4. Python 多线程教程:并发与并行

    转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...

  5. python进阶------进程线程(一)

    Python中的进程线程 一.进程线程的概念 1.1进程: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及 ...

  6. Python之进程

    进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代 ...

  7. Python之进程 3 - 进程池和multiprocess.Poll

    一.为什么要有进程池? 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务.那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗 ...

  8. Python之进程 1 - 基本概念

    一 背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所 ...

  9. python之进程池与线程池

    一.进程池与线程池介绍 池子使用来限制并发的任务数目,限制我们的计算机在一个自己可承受的范围内去并发地执行任务 当并发的任务数远远超过了计算机的承受能力时,即无法一次性开启过多的进程数或线程数时就应该 ...

随机推荐

  1. 每天一个Linux命令(61)killall命令

        killall命令用进程的名字来杀死进程.     (1)用法:     用法:  killall [ -egiqvw ] [ -signal ] [进程名称] 格式:killall -< ...

  2. 【HackerRank】Manasa and Stones

    Change language : Manasa 和 她的朋友出去徒步旅行.她发现一条小河里边顺序排列着带有数值的石头.她开始沿河而走,发现相邻两个石头上的数值增加 a 或者 b. 这条小河的尽头有一 ...

  3. git 使用教程 --基础二

    一:分支学习: branch称为分支,默认仅有一个名为master的分支.一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支. 分支的作用: 创建分支:(创建分 ...

  4. 查看oracle当前连接数和进程数

    查询数据库当前进程的连接数: select count(*) from v$process; 查看数据库当前会话的连接数: select count(*) from v$session; 查看数据库的 ...

  5. 原生javasxript获取浏览器的滚动距离和可视窗口的高度

    原生javasxript获取浏览器的滚动距离和可视窗口的高度 //封装兼容性方法获取滚动的距离 function getScrollOffset(){ if(window.pageXOffset){ ...

  6. 谈Swift中的访问控制

    访问控制(Access Control) 访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别.这个特性可以让我们隐藏代码的一些实现细节,并且可以指定一些代码和访问和使用的优先接口. 你可以明 ...

  7. matlab第一个小应用

    今天安装了matlab,以前还是上线性代数的时候,老师让用过,以及水了一次数模的时候玩了一下.以前太年轻,总觉得这个用处不大虽然别人一直强调这个神器... 到了自己要用的时候才会意识到.大家可能也都听 ...

  8. 常用 GDB 命令中文速览

    转自:https://linux.cn/article-8900-1.html?utm_source=index&utm_medium=moremore 目录 break -- 在指定的行或函 ...

  9. Linux自定义别名alias重启失效问题

    Linux上的别名功能非常方便,例如ll可以显示文件列表的长信息,但是却不是以human能读懂的方式显示,所以我尝试直接在命令行中自定义一个别名: alisa lk='ls -lh' 然后lk就能正常 ...

  10. json数据与Gson工具类的使用

    JS中使用JSON JSON对象 --> JSON字符串:JSON.stringify(对象) JSON字符串 --> JSON对象:JSON.parse(JSON字符串) <scr ...