xshell 运行python脚本


import sys
sys.path.append('C:\\Python36\\Lib\\site-packages\\')
from random import Random
import xlwt, xlrd, time, json
from xlutils.copy import copy
from copy import deepcopydef Main():global xshfile_path = 'C:\\Users\\Administrator\\Documents\\Tencent Files\\806408174\\FileRecv\\Python图书管理系统完整源码\\test.xls'  # 获取文件路径# newCrateXls()    #新生成一个文件默认保存在桌面xsh.Screen.Send('cd /\r')xsh.Screen.Send('ll\r')saveXlsCase(file_path)  # 保存xls文件# *** Open, Close, Sleep ***# xsh.Session.Open("ssh://roottest:leketest@192.168.118.128")'''try:Random_name = Random()xsh.Screen.Synchronous = Truexsh.Screen.Send('ll\r')     #输入linux命令past_name = xsh.Screen.CurrentColumnpast_name = xsh.Screen.CurrentRowScreenRow = xsh.Screen.CurrentRow - 1past_name = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)xsh.Dialog.MsgBox(str(past_name))# waitForStrs('.bash_history',5000,'ls\r')#判断5秒内是否出现字符# # get_random_ = Random_name.randint(0,3306)   #获取随机数# # xsh.Dialog.MsgBox(str(get_random_))# waitForStrs('xsession-errors',5000,'cd vmlinuz')# xsh.Session.Sleep(5000)xsh.Dialog.MsgBox('执行完成-即将关闭')  #弹出提示框,执行结束except Exception as E:msg_ = '执行出错-即将关闭' + str(E)xsh.Dialog.MsgBox(msg_)finally:xsh.Session.Close()  #关闭回话'''def waitForStrs(str_case, wait_time, execu_command):# wait_time  //指定时间  默认毫秒# str_case   //指定字符串if xsh.Screen.WaitForStrings(str(str_case), wait_time) > 0:xsh.Session.Sleep(2000)  # 强制等待2秒钟send_msg = str(execu_command) + '\r'xsh.Screen.Send(send_msg)else:raise ValueError('没有指定字符:{}'.format(str_case))def waitForStr(str_case):# str_case   //指定字符串# 填入一个参数,如果存在就执行下面的语句,不存在就一直等着xsh.Session.Sleep(2000)  # 强制等待2秒钟return xsh.Screen.WaitForString(str(str_case))def newCrateXls():# 默认保存桌面save_path = 'C:\\Users\\\Administrator\Desktop\\'work_book = xlwt.Workbook(encoding='utf-8')sheets = work_book.add_sheet('sheet1')title = ['IP', '端口', 'SSR_链接']for r in range(len(title)):sheets.write(0, r, title[r])r += 1work_book.save(save_path + '新生成' + str(int(time.time())) + '.xls')def readXlsCase(file_path):  # 读取xlswith xlrd.open_workbook(file_path) as book:  # 打开要读取的Excelsheet = book.sheet_by_name('sheet1')  # 打开sheet页rows_old = sheet.nrows  # 获取表格中已存在的数据的行数new_workbook = copy(book)return {'rows_old': rows_old,'new_workbook': new_workbook}def saveXlsCase(file_path):  # 写入xlsxsh.Session.Sleep(2000)default_param_1 = 'IP'.replace(' ', '')default_param_2 = '端口'.replace(' ', '')default_param_3 = 'SSR链接'.replace(' ', '')default_param_1 = 'drwxr-xr-x  23 root root  4096 Oct 14 06:54 ./'.replace(' ', '')default_param_2 = 'drwxr-xr-x  23 root root  4096 Oct 14 06:54 ../'.replace(' ', '')default_param_3 = 'drwxr-xr-x   2 root root  4096 Oct 15 12:33 bin/'.replace(' ', '')dict_data = {'IP': '','port': '','SSR_url': ''}nums = 1ScreenRow = xsh.Screen.CurrentRow - 1# 从下至上匹配30次还是没有找到文本就跳出循环while True:if dict_data['IP'] and dict_data['port'] and dict_data['SSR_url']:breakelif nums == 30:breakelse:nums += 1past_name = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 1000)ALL_NAME = deepcopy(str(past_name).split(':')[-1].strip())verify_str = str(past_name).replace(' ', '')if default_param_1 in verify_str:dict_data['IP'] = ALL_NAMEelif default_param_2 in verify_str:dict_data['port'] = ALL_NAMEelif default_param_3 in verify_str:dict_data['SSR_url'] = ALL_NAMEScreenRow -= 1new_books = readXlsCase(file_path)  # 读取xls文件rows_old = new_books['rows_old']new_workbook = new_books['new_workbook']sheet = new_workbook.get_sheet('sheet1')# print(sheet)# print('\n')# print(rows_old)# sheet = book.add_sheet('sheet1',cell_overwrite_ok=True)# title = ['IP', '端口', 'SSR_链接']# i = 0# for t in title:#     sheet.write(0, i, t)#     i += 1# row = 1if dict_data['IP'] and dict_data['port'] and dict_data['SSR_url']:sheet.write(rows_old, 0, dict_data['IP'])sheet.write(rows_old, 1, dict_data['port'])sheet.write(rows_old, 2, dict_data['SSR_url'])sheet.write(rows_old, 3, time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))new_workbook.save(file_path)new_workbook.save(file_path.replace('.xls', '') + '_copy.xls')xsh.Dialog.Prompt('保存成功' + json.dumps(dict_data))xsh.Dialog.Prompt('密码','提示对话框','',2)    #提示输入框else:raise ValueError('没有读到 IP , 端口 , SSR_链接 其中一个或多个')# xsh.Dialog.MsgBox(type(result))# if result == 1:# else:#     xsh.Dialog.MsgBox('shibaile')# "ssh://" & username & ":" & password & "@" & HostStr# xsh.Session.Open("C:\\...\\NetSarang\\Xshell\\Sessions\\New Session.xsh")# xsh.Screen.Synchronous = True  # True or False# xsh.Session.Sleep(1000)## # *** StartLog, StopLog ***# xsh.Session.LogFilePath = "C:\\...\\NetSarang\\Xshell\\Logs\\example_yu.log"# xsh.Session.StartLog()## # *** Property ***# MsgInfo = "LogPath: " + xsh.Session.LogFilePath + ", "# MsgInfo = MsgInfo + "LocalAddress: " + xsh.Session.LocalAddress + ", "# MsgInfo = MsgInfo + "Path: " + xsh.Session.Path + ", "# MsgInfo = MsgInfo + "RemoteAddress: " + xsh.Session.RemoteAddress + ", "# MsgInfo = MsgInfo + "RemotePort: " + str(xsh.Session.RemotePort) + ", "# MsgInfo = MsgInfo + "Connected: " + str(xsh.Session.Connected) + ", "# MsgInfo = MsgInfo + "Logging: " + str(xsh.Session.Logging)# xsh.Dialog.MsgBox(MsgInfo)## xsh.Session.Close()# xsh.Session.StopLog()

xshell 运行python脚本相关推荐

  1. xShell运行Python脚本报错 Python script error 80040154

    xShell运行Python脚本报错 Python script error 80040154 这是由于没有安装 Python engine的原因. 解决方法如下: 1. 下载并安装 Python 访 ...

  2. 后台运行python脚本

    在服务器运行python脚本时,如果使用平常的python aaa.py,当你关闭xshell工具后,程序也就停止了,这时需要让服务器后台运行python脚本,本机关机后,服务器也会运行,这时你只需睡 ...

  3. 命令行运行Python脚本时传入参数的三种方式

    三种常用的方式 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. python script.py 0,1,2 10 python script ...

  4. xampp python linux,Ubuntu的XAMPP着运行python脚本

    因为某些原因我不得不将我的web应用程序我的本地机器上.我需要从python脚本中提取一些信息. 我跟着很多的指南,并在这里回答了stackoverflow,但我有一个奇怪的问题. 我有一个简单的We ...

  5. windows的.bat批处理文件运行Python脚本程序

    windows的.bat批处理文件运行Python脚本程序 文章目录: 一.如何创建 `.bat` 批处理文件 二.创建执行的Python脚本程序 一.如何创建 .bat 批处理文件 创建.bat 批 ...

  6. power python_在 Power BI Desktop 中运行 Python 脚本

    在 Power BI Desktop 中运行 Python 脚本Run Python scripts in Power BI Desktop 06/02/2020 本文内容 你可以直接在 Power ...

  7. python命令提示符窗口在哪里_详解python命令提示符窗口下如何运行python脚本

    以arcgispro的python脚本为例在arcgispro自带的python窗口下运行python脚本 需求: 将arcgispro的.aprx项目包中gdb的数据源路径更换为sde数据源路径. ...

  8. flask执行python脚本_如何在Flask中运行python脚本

    我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...

  9. python解释器的提示符是shell嘛_从PowerShell语法错误运行Python脚本

    您的第一个>>> import os >>> os.system('.\\CleanupStops.py')语句以交互模式启动了Python解释器.如果你想从那里运 ...

  10. 安卓手机运行python程序的软件-安卓手机定时运行python脚本

    话说现在智能手机的计算能力严重过剩啊,不玩游戏.不打电话.不刷微信时,要充分利用手机的计算潜力为我所用.完全可以把一些台式电脑上的计算任务移到手机上来运行.python就是一个很好的跨平台的解决方案. ...

最新文章

  1. 针对杂乱环境下抓取物体的机器人学习
  2. JZOJ 5305. 【NOIP2017提高A组模拟8.18】C
  3. leetcode-728-Self Dividing Numbers
  4. vue为什么要求组件模板只能有一个根元素
  5. mysql存储过程中as_mysql - 存储过程mySQL语法错误意外“ AS” - 堆栈内存溢出
  6. LeetCode(520)——检测大写字母(JavaScript)
  7. HLSL内置函数一览
  8. 建筑学公务员要求计算机二级,在我国,建筑学作为一级学科包括四个二级学科,其中两个是建筑设计及其理论、建筑历史与理论,另外两个是(  )。...
  9. CentOS_6配置163网络yum源
  10. 写给那些要找电子发票的数据接口规范的程序猿
  11. Java 验证码图片不加载处理办法
  12. python 经典图书排行榜_书榜 | 计算机书籍(9.2-9.8)销售排行榜
  13. python爬取京东商品图片_Python---爬取京东商城的图片
  14. mpc高清设置超详细
  15. Retrofit 2.9.0 源码解析
  16. 机器人java指南_Zmud新手机器人指南
  17. 通过漫画学习MySQL索引及优化
  18. Zotero 5.0 + 坚果云同步盘 + papership 配置教程
  19. Font Awesome html源码,如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码_html/css_WEB-ITnose...
  20. 如何用ChemDraw画不同的环结构?

热门文章

  1. tesserocr的安装
  2. MySQL高级部分理论知识细讲
  3. github Dns 污染
  4. Android使用开源框架完成城市列表三级联动(从服务端获取数据源和自定义json数据源)
  5. Android 7.1.1源码下载
  6. uboot 源码官方下载地址
  7. jQuery漂浮横幅图片广告代码
  8. mac访达中显示隐藏的文件夹和文件
  9. 记录一次电脑中病毒后的排查过程
  10. XINS 2.3支持Google App Engine和Ant 1.8