Python
hu_wenjie
运维开发工程师,负责系统各层级的自动化监控开发、系统的自动化巡检开发、熟悉微服务项目的自动化部署、集群方案部署、熟练掌握故障分析定位等。
展开
-
python flask 启动时抛出时区异常处理
python3 flask框架的web系统启动时,APScheduler 抛出以下异常通过分析异常日志,发现APScheduler的默认timezone,而“0”是获取的系统环境变量的TZ时间28800对应timezone为“Asia/Shanghai”, 而0对应timezone为“UTC”,所以我们只需将系统环境变量的时区与APScheduler的时区设置为一致即可...原创 2022-06-27 16:19:31 · 918 阅读 · 0 评论 -
select2 新增全选功能
html 配置在select标签后新增<select class="col-xs-10 col-sm-8" id="serverip" name="serverip" multiple="multiple"> {% for server_record in server_list%} <option value="{{server_record.serverip}}">{{server_record.serverip}}</option>原创 2022-03-14 18:02:53 · 1183 阅读 · 0 评论 -
python 上传zip附件并执行解压
1、首先从前端获取上传的文件f = request.files['upload']2、配置保存路径savepath = "/opt/upload/"if not os.path.exists(savepath): # 判断目录是否存在,不存在则新建 os.makedirs(savepath)3、配置路径后保存upload_path = os.path.join(savepath, secure_filename(f.filename))f.save(upload_pat原创 2022-01-10 17:17:50 · 1108 阅读 · 0 评论 -
python 获取oracle当前连接数
环境准备:1、安装cx_Oracle库pip install cx_Oracle2、下载Oracle驱动文件https://www.oracle.com/database/technologies/instant-client/downloads.html并解压到本机目录,此处举例D:\oracle_client\instantclient_18_53、操作系统,windows 10代码实现connOracle.py# encoding=utf-8impo.原创 2021-03-31 15:53:23 · 276 阅读 · 0 评论 -
python 模块xlwt在保存数据时抛出UnicodeDecodeError
python 模块xlwt在保存数据时抛出UnicodeDecodeErrorUnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 1777: ordinal not in range(128)通过重新设置编码方法,问题还是没有解决import sysreload(sys)sys.setdefaultencoding('utf8')后面查找相关资料问题终于解决解决方法:打开xlwt包里的Wor原创 2020-12-24 11:07:34 · 686 阅读 · 5 评论 -
python在遍历多个变量时的方法 -- for循环
当for循环有两个需要迭代的对象时,要用zip对这多个变量封装,否则会报错too many values to unpackA = [0,1,2,3,4]B = [5,6,7,8,9]for a, b in zip(A, B): print((a, b))原创 2020-05-27 16:31:53 · 2211 阅读 · 1 评论 -
Zabbix4.2 使用python对接webservice接口
今日格言:不要质疑你的付出,这些都会是一种累积一种沉淀,它们会默默铺路,只为让你成为更优秀的人。在运维过程中经常遇到类似的问题:在局域网没有互联网的情况下,如何实现告警?zabbix监控的目的就是为了提前预警,如果异常信息无法通知到人,那监控的作用就相当于0但是实际生产环境中,大多都会提供短信接口,或者短信机,以下是举例使用python对接短信接口webservice的方法pyth...原创 2019-12-11 11:20:57 · 1026 阅读 · 0 评论 -
python 中selenium常用的键盘键
python 中selenium常用的键盘键#!/usr/bin/python# -*- coding: utf-8 -*- from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timedriver = webdriver.Chrome()driver.get(...原创 2019-07-09 16:59:07 · 2409 阅读 · 0 评论 -
python 实现操作sql server数据库
上一篇文章,我们写到如何在centos7.5 安装sql server数据库,这篇来说明下如何使用python连接sql server数据库并完成数据库操作。一、环境准备操作系统:centos7.5 x64安装包:pyodbc-2.1.7(或者pymssql,该模块需要安装依赖较多,不建议)离线安装使用rpm包安装,在线安装直接运行:pip install pyodbc rpm包下载...原创 2019-07-04 15:02:50 · 9446 阅读 · 0 评论 -
关于selenium切换iframe的问题
在使用xpath定位id元素的时候,发现语法等信息都没有错误,但是还是提示:no such element: Unable to locate element: {"method":"xpath","selector":"xpath"}后经过排查,发现该页面是新开了一个iframe,导致获取不到元素解决办法:只需在定位元素之前切换到该iframe...原创 2019-07-05 14:58:42 · 1033 阅读 · 0 评论 -
selenium --利用谷歌浏览器获取xpath的定位信息
当我们在使用selenium各种定位的时候,是不是经常遇到定位难的问题,现在推荐大家使用谷歌浏览器的神器,帮我们获取想要的定位元素,今天主要介绍xpath,其它方式类似!打开谷歌浏览器开发者模式选择元素这栏,然后光标定位到我们想要获取的内容处然后谷歌会自动定位到我们所点数据的元素位置接下来就是见证奇迹的时刻了右击鼠标-Copy - Copy Xpath然后粘贴...原创 2019-07-05 16:05:16 · 3261 阅读 · 0 评论 -
python中 selenium自动化windows安装Pillow、pytesseract实现识别图片验证码登录
操作系统:windows 10安装模块:Pillowpytesseracttesseract-ocr1、首先安装Pillow,可以选择安装windows版的安装包 下载地址:https://pypi.org/project/Pillow/#files 此处我选择安装Pillow-6.1.0.win-amd64-py2.7.exe2、安装完成后再进行安装pyte...原创 2019-07-29 17:41:36 · 829 阅读 · 2 评论 -
python selenium无法清除文本框内容问题
正常是我们在清除文本框内容的时候,都会使用 clear() 函数进行清除,但是有时候会出现,清除完成后再点击查询时,文本框的内容会再次自动填充,这个时候我们可以选择以下方式:#清空查询条件driver.find_element_by_id("FORM_NAME").send_keys(Keys.CONTROL, "a")driver.find_element_by_id("FORM_NA...原创 2019-07-22 11:40:13 · 2844 阅读 · 0 评论 -
python selenium 设置元素在页面可见
我们经常在获取元素时,要定位的元素不在可见的页面中,导致定位失败,经常抛出 NoSuchElementException() 异常该问题的解决方法如下: # 拖动菜单到可见元素target = driver.find_element_by_id("menu_id")driver.execute_script("arguments[0].scrollIntoView();", targ...原创 2019-08-01 17:20:35 · 2185 阅读 · 0 评论 -
python使用selenium实现web系统自动化巡检
Selenium介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作...原创 2019-06-04 15:54:17 · 5066 阅读 · 0 评论 -
python实现连接mysql数据库
python实现连接mysql数据库操作系统环境:centos7工具:python2.7模块:MySQLdbcentos7 操作系统自带的python为2.7,只需安装MySQLdb模块就可以实现与mysql数据库进行连接。首先下载 MySQLdb 安装包,我这边下载的是1.2.3版本, MySQL-python-1.2.3b1.tar.gz上传至centos7服务器,/d...原创 2019-01-21 13:16:50 · 475 阅读 · 0 评论 -
centos 安装Django方法
首先安装epel扩展源: #: yum -y install epel-release更新完成之后,就可安装pip: #: yum -y install python-pip安装完成之后清除cache: #: yum clean all以上步骤完成了pip命令的安装(如果pip install 出现问题可以试试命令 pip install setuptools==33.1.1)然后执行安装Djan...原创 2018-06-28 17:25:59 · 1769 阅读 · 0 评论 -
python读写文件
python进行文件读写的函数是open或filefile_handler = open(filename,,mode)Table mode模式描述r以读方式打开文件,可读取文件信息。w以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a原创 2016-10-25 11:37:43 · 1444 阅读 · 0 评论 -
python开发的ping工具
收到开发部的需求,需要对一台主机进行长时间的ping监测,来检测是否出现丢包的情况,于是就着手操作,本想用shell来写,奈何shell后台运行不靠谱,总是莫名的中断,后面就想用python开写好了。代码如下:#!/usr/bin/env python # coding:uft-8''''' author: huwjdate: 2017-03-22 18:29:59'''原创 2017-03-27 17:50:09 · 1460 阅读 · 0 评论 -
python2.7使用TimeDelta中total_seconds()方法的问题
运维过程中经常在做日期相加减时使用TimeDelta对象,python2.7及以后的TimeDelta有total_seconds()方法获取总秒数,而2.6之前没有该方法,且众所周知大多数非python开发的服务器上运行的python版本多半是centos自带的2.6版本,以下提供一个等价的计算方法:def total_seconds(time_delta): return 1.原创 2017-03-23 09:18:43 · 5022 阅读 · 0 评论 -
使用python raw socket进行TCP SYN扫描
使用python raw socket进行TCP SYN扫描1. TCP SYN扫描端口扫描常用于用于探测服务器或主机开放端口情况,被计算机管理员用于确认安全策略,同时被攻击者用于识别目标主机上的可运作的网络服务。端口扫描是向一定范围的服务器端口发送对应请求,以此确认可使用的端口。虽然其本身并不是恶意的网络活动,但也是网络攻击者探测目标主机服务,以利用该服务的已知漏洞的重要手段原创 2017-01-13 17:08:45 · 2283 阅读 · 0 评论 -
zabbix通过python脚本发告警邮件
python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。脚本如下:#!/usr/bin/python#coding:utf-8import smtplibfrom email.mime.text import MIMETextimport sysmail_host = 'smtp.126.com' mail_user原创 2017-01-16 11:47:57 · 8660 阅读 · 0 评论 -
centos7 使用pip安装python-mysqldb模块
首先安装pip工具下载pip安装包:wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gzwget记得加上参数--no-check-certificate 无需检测下载https连接的证书,防止报错然后解压:tar -zxvf 1.5.5.tar.gz进入目录:...原创 2017-03-17 10:51:11 · 5698 阅读 · 0 评论 -
Python的异常处理机制
当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时。当你的程序中有一些无效的语句时,Python会提示你有错误存在。下面是一个拼写错误的例子,print写成了Print。Python是大小写敏感的,因此Python将引发一个错误:>>> Print 'Hello World' File "", line 1 Print 'Hello World'转载 2016-08-29 10:34:09 · 765 阅读 · 0 评论 -
python 函数的使用
Python 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符原创 2017-05-05 10:13:19 · 449 阅读 · 0 评论 -
python break 语法
Python break 语句Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。Python语原创 2016-10-26 09:33:16 · 994 阅读 · 0 评论 -
Python中的模块
Python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include"引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用impo原创 2016-10-24 14:11:32 · 462 阅读 · 0 评论 -
Python解决中文写入Excel时抛异常
近期接到业务部门需求,需将统计结果每日发送到业务部门,在调试python脚本的时候,导出的Excel标题为中文,总是抛出以下异常Traceback (most recent call last): File "totalpx.py", line 99, in export() File "totalpx.py", line 54, in export workbook原创 2017-07-31 16:43:02 · 4380 阅读 · 1 评论 -
python查询mysql导出结果至Excel并发送邮件
#!/usr/bin/python#coding: utf-8import sysimport xlwtimport MySQLdbimport datetimeimport timeimport smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfr原创 2017-07-31 17:03:48 · 2063 阅读 · 0 评论 -
通过Python使用saltstack收集服务器资产信息自动入库
由于各种因素导致公司服务器资产信息不完善,想要重新整理一份资产信息表,借鉴《通过Python使用saltstack生成服务器资产清单》的脚本稍微修改,完善自己想要的资产信息,并写入数据库!在此做个记录,以便后期资产更新。脚本内容如下:[python] view plain copy# coding=utf-8 import salt.client as sc import MySQLdb转载 2018-01-19 15:01:38 · 1092 阅读 · 0 评论 -
Python for 循环语句使用
Python for 循环语句Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。语法:for循环的语法格式如下:for iterating_var in sequence: statements(s)流程图:实例:#!/usr/bin/python# -*- coding: UTF-8 -*-for lette原创 2016-10-24 19:57:25 · 1916 阅读 · 0 评论