import re
import os
import openpyxl
from openpyxl import Workbook,workbook
from concurrent.futures import ThreadPoolExecutor
import time class xshell_session: def __init__(self,excel_name):
self.excel_name = excel_name
self.all_row_dic = [] # 存储列表所有字典
with open("tmp.xsh", "r", encoding="utf-16-le") as tmp:
self.tmp_file = tmp.read()
try:
os.mkdir("./session")
except:
pass
def get_ip_list(self):
wb = openpyxl.load_workbook(filename=self.excel_name) #type:workbook.Workbook
sheet_info = wb[wb.sheetnames[0]] # 进入当前工作sheet
max_colum = sheet_info.max_column
max_row = sheet_info.max_row
row_data = list(sheet_info.rows) #遍历行数据
header = [] # 创建空列表存储key值
for data in range(1,max_colum+1):
get_header = sheet_info.cell(row=1,column=data).value
header.append(get_header)
#print(header)
for row in row_data:
reslut = [] # 创建列表,存储每行的数据
for i in row:
reslut.append(i.value)
row_dic = dict(zip(header,reslut))
#print(row_dic)
self.all_row_dic.append(row_dic)
self.all_row_dic.pop(0)
print(self.all_row_dic)
for i in self.all_row_dic:
print(i)
def creat_session_file(self):
os.chdir("./session")
for i in self.all_row_dic:
ip = i["IP"]
dev_name = i["name"]
#print(dev_name)
#print(ip)
new_file = dev_name+".xsh"
session = re.sub("Host=.*", "Host=" + ip, self.tmp_file)
with open(new_file,"w",encoding="utf-8") as file:
file.write(session)
print(new_file) session = xshell_session("iplist.xlsx")
session.get_ip_list()
session.creat_session_file()

批量创建xshell会话的更多相关文章

  1. VMware workstation批量创建虚拟机和自动化安装操作系统(二)

    一. 简述 在上一篇<VMware workstation批量创建虚拟机和自动化安装操作系统(一)>中,主要介绍了VMware workstation自定义创建虚拟机的过程,和一些其他的有 ...

  2. 批量创建10个用户stu01-stu10

    1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现. ##方法1: [root@server tmp]# ...

  3. 批量创建AD测试账号

    在现场中,有时候客户会要求做一下AD压力测试,需要批量创建很多AD用户.奉献此代码供各位参考.   1: <# 2:   3: .DESCRIPTION 4: 批量创建AD测试账号 5:   6 ...

  4. mkdir:批量创建文件夹

    问题:mkdir dir[0-9]创建文件夹时,并没有如预期创建dir0~dir9这几个文件夹,而是创建了dir[0-9]这一个文件夹. 网上看了些相关资料,发现以前对[0-9]的理解不够透彻: &q ...

  5. 使用Java中File类批量创建文件和批量修改文件名

    批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...

  6. [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本

    在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包.配置.执行命令.启动服务... 这个问题的根源是如何集中配置和管理系统,专业 ...

  7. 【转】dsadd user批量创建AD用户命令详解

    常见的批量创建用户的方法有四种: 一. 帐户模板的方式 二. CSVDE和LDIFDE 三. 脚本的方式 四. DSADD 但是很少有详细的资料使用DSADD的方式来批量创建帐户,那么我就把我近期使用 ...

  8. AD批量创建用户

    实验环境:Windows Server 2008R 2 由于测试需要,需要创建数百个用户,手动创建当然不可取,此时需要批量创建,操作记录如下 1 首先将要批量创建的人员信息导入到一个csv文件中,表中 ...

  9. salt进程查看插件&salt批量创建用户

    接受key 剔除主机   启动 salt-minion-d     软件包的安装   salt '*' state.sls init.env-init test=true   salt批量创建用户: ...

  10. Python 批量创建同文件名的特定后缀文件

    看了很多批量创建文件和文件批量格式转换的code,感觉杀鸡焉用牛刀,自己写了几行轻量级的拿来给大家参考: 在out_dir目录下批量创建与in_dir目录下同文件名但后缀不同的文件. in_dir = ...

随机推荐

  1. (18)go-micro微服务ELK介绍

    目录 一 什么是ELK 二 Beats的六种工具 三 ELK系统的特点 四 ELK+beats系统架构 五 ELK优点 六 最后 一 什么是ELK ELK是三个[开源软件]的缩写,分别表示:Elast ...

  2. Quartz.Net源码Example之Quartz.Examples

    Quartz.Examples 反射-Example批量执行 ​ 实现思路:定义一个统一的接口,需要实现的类全部实现该接口:通过反射获取实现该接口的实例并触发其中的方法. 定义统一的接口 // 所有要 ...

  3. 2023牛客寒假算法基础集训营5 A-L

    比赛链接 A 题解 知识点:前缀和,二分. 找到小于等于 \(x\) 的最后一个物品,往前取 \(k\) 个即可,用前缀和查询. 时间复杂度 \(O(n + q\log n)\) 空间复杂度 \(O( ...

  4. 获取Excel列标

    /// <summary> /// 获取Excel列标 A B C...Z等 /// </summary> /// <param name="col" ...

  5. Sentinel熔断与限流

    1.简介 在线文档: https://sentinelguard.io/zh-cn/docs/system-adaptive-protection.html 功能: 流量控制 速率控制 熔断和限流 和 ...

  6. 【ASP.NET Core】标记帮助器——元素筛选

    前一篇中老周从标记帮助的底层介绍关键性的接口,如 ITagHelper ,它是一个标志,用于识别哪些类属于 Tag Helper. 标记帮助器毕竟是针对 HTML 标记的,所以得筛选.说白了就是我写的 ...

  7. 认识Spring MVC-概念-小demo

    二:SpringMVC 异常码: 405:请求不允许 404:资源不存在 400:参数有问题 500:代码有问题 SpringMvc是Spring FrameWork提供的WEB组件,是目前的主流的实 ...

  8. vue跨域请求数据

    vue跨域请求数据 本篇文章基于vue-cli编写 问题描述 当出现如下关键词,证明我们正在执行跨域问题 此时证明我们违背了同源策略(即协议名.ip.端口号一致) 环境准备 首先,要想实现跨域请求数据 ...

  9. Linux 下的十一款一流备份实用工具

    转载:linux.中国 https://linux.cn/article-7183-1.html

  10. CCRD_TOC_2007年12月_总第13期

    中信国健临床通讯 2007年12月, 总第13期 ACR2007专辑 目 录   类风湿关节炎 1.        来自CORRONA的数据:TNF抑制剂停用后临床获益仍持续存在 Lee SJ, et ...