批量创建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 = ...
随机推荐
- MAC 安装homebrew最好的办法哦~~
Command+Shift+. 可以显示隐藏文件.文件夹,再按一次,恢复隐藏:finder下使用Command+Shift+G 可以前往任何文件夹,包括隐藏文件夹. 常用指令如下 cd ~ 进入根 ...
- 读Java8函数式编程笔记03_高级集合类和收集器
1. 方法引用 1.1. 一种引用方法的轻量级语法 1.1.1. 提供了一种简短的语法 1.1.2. 标准语法为Classname::methodName 1.2. 凡是使用Lambda表达式的地方, ...
- 【随笔记】NDK 编译开源库 jsoncpp
下载并解压源码 wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.4.tar.gz -O jsoncp ...
- (转载)Python中关键词yield怎么用?
原文: https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do 译文: https://zhuanlan.z ...
- Typora下载与安装 0.9.75版本
Typora下载与安装 效果图 一.简介 一款 Markdown 编辑器和阅读器 (0.9.75 版本 不需购买) 二.下载 下载地址:Typora 三.安装 1.下载文件后双击安装 2. 选择存放的 ...
- 视觉十四讲:第七讲_ORB特征点
1.特征点 特征点是图像里一些特别的地方,如角点.边缘和区块.比较著名有SIFT.SURF.ORB等.SIFT充分考虑了图像变换过程中出现的光照.尺度.旋转等变换,但是计算量非常大.而ORB是质量和性 ...
- 郁金香逆向 2.便利怪物对象数组 纯C写法
读取基础地址 获取节点数量 打印怪物列表 进行遍历 环环相扣
- Mac 创建Python3虚拟环境
Mac 创建Python3虚拟环境 1.安装virtualenv pip3 install virtualenv 安装virtualenvwrapper pip3 install virtualenv ...
- 题解 P4163 [SCOI2007]排列
强烈谴责只有 125MB 的行为,然后我没删调试是个什么 SB... 闲话少说,切入正题-- 首先看到取余和数字是可以排列的,我们自然而然的想到了数位 dp,但是很显然这题不是的数位 dp 通常解决的 ...
- Android:ViewModel
什么是 ViewModel ViewModel 旨在以注重生命周期的方式存储和管理界面相关数据.ViewModel 让数据可在发生屏幕旋转等配置更改后继续留存. 上面一段话是截取自官方文档对 View ...