批量创建xshell会话
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会话的更多相关文章
- VMware workstation批量创建虚拟机和自动化安装操作系统(二)
一. 简述 在上一篇<VMware workstation批量创建虚拟机和自动化安装操作系统(一)>中,主要介绍了VMware workstation自定义创建虚拟机的过程,和一些其他的有 ...
- 批量创建10个用户stu01-stu10
1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现. ##方法1: [root@server tmp]# ...
- 批量创建AD测试账号
在现场中,有时候客户会要求做一下AD压力测试,需要批量创建很多AD用户.奉献此代码供各位参考. 1: <# 2: 3: .DESCRIPTION 4: 批量创建AD测试账号 5: 6 ...
- mkdir:批量创建文件夹
问题:mkdir dir[0-9]创建文件夹时,并没有如预期创建dir0~dir9这几个文件夹,而是创建了dir[0-9]这一个文件夹. 网上看了些相关资料,发现以前对[0-9]的理解不够透彻: &q ...
- 使用Java中File类批量创建文件和批量修改文件名
批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...
- [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本
在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包.配置.执行命令.启动服务... 这个问题的根源是如何集中配置和管理系统,专业 ...
- 【转】dsadd user批量创建AD用户命令详解
常见的批量创建用户的方法有四种: 一. 帐户模板的方式 二. CSVDE和LDIFDE 三. 脚本的方式 四. DSADD 但是很少有详细的资料使用DSADD的方式来批量创建帐户,那么我就把我近期使用 ...
- AD批量创建用户
实验环境:Windows Server 2008R 2 由于测试需要,需要创建数百个用户,手动创建当然不可取,此时需要批量创建,操作记录如下 1 首先将要批量创建的人员信息导入到一个csv文件中,表中 ...
- salt进程查看插件&salt批量创建用户
接受key 剔除主机 启动 salt-minion-d 软件包的安装 salt '*' state.sls init.env-init test=true salt批量创建用户: ...
- Python 批量创建同文件名的特定后缀文件
看了很多批量创建文件和文件批量格式转换的code,感觉杀鸡焉用牛刀,自己写了几行轻量级的拿来给大家参考: 在out_dir目录下批量创建与in_dir目录下同文件名但后缀不同的文件. in_dir = ...
随机推荐
- continue跳過循環(skippaart程序),接受設定的合法分數來進行平均分求值,并展現最高分,最低分
1 #include<stdio.h> 2 int main() 3 { 4 const float MIN = 0.0f; //分數下限是0分 5 const float MAX = 1 ...
- 常见非指纹built-in函数
unescape unescape() _函数_可对通过 escape() 编码的字符串进行解码. unescape("abcdefg") 'abcdefg' unescape(& ...
- 获取对象的方式-Calendar类的常用成员方法
获取对象的方式 java.utiL.calendar类:日历类caLendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR.MONTH.DAY_OF_MONTH.HOUR )CaLend ...
- SQLSERVER 的四个事务隔离级别到底怎么理解?
一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别. READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEA ...
- BIGO 如何做到夜间同时运行 2.4K 个工作流实例?
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 精彩回顾 近期,BIGO 的大数据研发工程师许名勇在社 ...
- SpringBoot Test Junit 联用
需要导入SpringBoot test和junit的包 @RunWith(SpringRunner.class) @SpringBootTest(classes = PiYuApplication.c ...
- MongoDB数据库记录
启动 MongoDB 服务 标准 URI 连接语法: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:po ...
- PopClip使用教程图文详解 2022.12亲测有效
PopClip简介 PopClip mac版是Macos上一款增强型复制粘贴工具,当你选中文字后,PopClip会自动弹出复制.剪切.粘贴.搜索等等操作,除了复制粘贴外,PopClip还提供了很多的扩 ...
- 修改ctags让fzf.vim插件显示C,C++方法声明的标签
背景 在 vim 中使用 fzf.vim 插件可以进行方便的搜索文件, 源码TAG, GIT 记录等, 最近抽空看了下 BTags 命令在 c, c++ 文件中, 无法显示头文件中的函数声明 标签问题 ...
- windows下dapr的代码调试--非docker部署
上一篇大概的整理了一下在vm虚拟机下通过docker部署dapr应用,作服务之间调用的例子. 今天整理一下windows下dapr的非docker部署调试,毕竟大部分开发不需要花费太多时间做部署. 源 ...