python OOP案例及多线程案例

server/2025/3/15 4:22:43/

OOP案例

python">import netmiko,timeclass Network_ssh(object):def __init__(self, device, host, username, password, port, command):self.device = deviceself.host = hostself.username = usernameself.password = passwordself.port = portself.command = commanddef connect_to_sw(self):self.conn = { "device_type": self.device,"host": self.host,"username": self.username,"password": self.password,"port": self.port}return self.conndef handler_conn(self):self.connect_to_sw()self.connect = netmiko.ConnectHandler(**self.conn)self.connect.config_mode()#相当于执行了system或conf t命令self.command2 = ["inter vlan 30", "ip add 192.168.3.1 24"]self.connect.send_config_set(self.command2)#send_config_set 取消了分屏,执行了system-vie,再执行命令。self.connect.save_config()#相当于wr或save保存配置self.output = self.connect.send_command("dis ip int br", strip_prompt=False, strip_command=False)#send_comman里面的值变量不能是列表,必须是字符查寻命令。#把传入的变量命令给执行了print(self.output)		def write_txt(self):self.handler_conn()	#把结果保存起来self.times = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())self.result_out = self.outputwith open(self.times + ".txt", "w") as f:f.write(self.result_out)def down_conn(self):self.handler_conn()self.connect.disconnect() #关闭handler处理			if __name__ == "__main__":print("please choose device:" + "\n" + "1:hp_comware" + "\n" + "2:cisco_ios" + "\n" + "3:ruijie_os" + "\n")device = input("device is: ").strip()host = input("login ip_address is: ").strip()username=input("login username is: ").strip()password = input("login passwd is: ").strip()port = input("device ssh port is: ").strip()	command = input("input commend is: ").strip()obj_ssh = Network_ssh(device, host, username, password, port, command)obj_ssh.handler_conn()obj_ssh.write_txt()obj_ssh.down_conn()

多线程案例

python">import threading
import time# 第一个循环
def loop1():for i in range(5):print("Loop 1: ", i)time.sleep(1)# 第二个循环
def loop2():for i in range(5):print("Loop 2: ", i)time.sleep(0.5)# 创建两个线程并运行
thread1 = threading.Thread(target=loop1)
thread2 = threading.Thread(target=loop2)
thread1.start()
thread2.start()
thread1.join()
thread2.join()

http://www.ppmy.cn/server/152159.html

相关文章

Flink调优----反压处理

目录 概述 1.1 反压的理解 1.2 反压的危害 定位反压节点 2.1 利用 Flink Web UI 定位 通过 WebUI 看到 Map 算子处于反压:​编辑 分析瓶颈算子 2.2 利用 Metrics 定位 根据指标分析反压 可以进一步分析数据传输 反压的原因及处理 3.1 查看是否数据倾斜 …

增强LabVIEW与PLC通信稳定性

在工业自动化系统中,上位机与PLC之间的通信稳定性至关重要,尤其是在数据采集和控制任务的实时性要求较高的场景中。LabVIEW作为常用的上位机开发平台,通过合理优化通信协议、硬件接口、数据传输方式以及系统容错机制,可以大大提升…

Hello World:第一个TypeScript程序

今天我们要一起动手写一个简单的 TypeScript 程序——就是那个大家都知道的经典“Hello World”程序。虽然很简单,但它将帮助我们确认一切设置正常,并且我们能开始使用 TypeScript 来编写代码了! 2.1 我们来写一个“Hello World”程序吧 首…

electron-vite【实战】登录/注册页

效果预览 项目搭建 https://blog.csdn.net/weixin_41192489/article/details/144611858 技术要点 路由默认跳转到登录页 src/renderer/src/router/index.ts routes: [// 默认跳转到登录页{path: /,redirect: /login},...routes]登录窗口的必要配置 src/main/index.ts 中 cons…

wtforms+flask_sqlalchemy在flask-admin视图下实现日期的修改与更新

背景: 在flask-admin 的modelview视图下实现自定义视图的表单修改/编辑是件不太那么容易的事情,特别是想不自定义前端view的情况下。 材料: wtformsflask_sqlalchemy 制作: 上代码 1、模型代码 from .exts import db from …

Flutter项目兼容鸿蒙Next系统

一、环境搭建: 1.1 下载鸿蒙DevEco Studio开发工具。 下载地址:下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生态 下载之前需要先登录,后面的模拟器创建还要开发者验证、审核啥的,好在审核进度还可以&am…

PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型

训练paddleocr模型,可以按照如下教程或者直接百度其他的 PaddleOCR训练自己的数据集(中英文)(全套)和C#部署(半套)_c# paddleocr-CSDN博客 将训练后的模型转换成推理模型 -c后面是你配置的de…

Linux中部署项目

1.下载JDK17 进入 /usr/local 目录,创建 java 文件夹。并将 JDK17 上传到 java 目录下。 上传成功后,通过cd命令进入Java文件夹目录,解压 JDK17 压缩包,命令 unzip zulu17.44.53-ca-jdk17.0.8.1-linux_x64.zip。 如果报错说 u…