Python开发笔记
Initial-T
规格严格,功夫到家。做优秀的软件工程师,写漂亮的代码。
展开
-
解决pushgateway数据多次推送会覆盖的问题
多个server,往同一台pushgateway推送数据时,采用同一个job名称,会发现始终只能留下一个server的数据,其他的会被覆盖使用语言 python通过抓包发现,所有数据均已推送到9091端口,所以排除是某个server推送的问题相当于推送到了 metrics/job/job_name推送的指标按组进行管理,由任意数量标签的分组键标识,一般有Job跟instance,推送时候只指定Job的话,会误将几个server推送的数据当成同一组数据,出现覆盖的情况所以应该在分组标识中加入该批数据的唯原创 2022-06-20 11:30:58 · 1786 阅读 · 1 评论 -
Python requests ConnectionError报错: connection aborted BadStatusLine
报错信息:raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''", ))涉及代码data = {"host":host,"key":key,"value":value,"dns":ip} res = requests.post(url=url,json = data)方法1: 加重试..原创 2022-04-14 18:08:08 · 7009 阅读 · 1 评论 -
[Python]Curl命令模拟与json解析
核心:利用os.popen来执行curl请求 利用json.loads来解析数据以解析zabbix 登录token为例:import osimport jsoncurl_login = """curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"XXX"},"auth":null,原创 2022-04-04 09:11:06 · 2770 阅读 · 0 评论 -
Python实现抢红包分配算法【递归】
算法:红包金额是随机的,但是每一轮你能抢到的红包金额,最高不会超过剩下红包的均值的二倍。若只有一个人,则获得所有剩下的金额。递归实现:import randomtotal_money = 100people_count = 10# 红包派发递归算法def compute(i,result): #最后一位,获得剩下所有红包 if i == 1: result.append(total_money-sum(result)) re...原创 2022-01-18 16:33:14 · 2482 阅读 · 0 评论 -
解决pyinstaller打包后C盘出现 windows/TEMP/_MEI文件夹爆满的问题
背景:一每分钟执行的python脚本,打包成exe后,在有些机器出现_IME文件过多的问题解决:1 参考Python转exe方法与_MEI清除方法_╮(╯_╰)╭ Don't expect me to reply to you in time-CSDN博客得知是pyinstaller的问题2 编写清除脚本,每次运行清除之前该目录下所有IMEI文件import osimport shutilpath = r"C:\Windows\Temp"for root,..原创 2021-12-06 15:53:25 · 7818 阅读 · 0 评论 -
Python筛选处理Excel的两种方法(openpyxl与pandas)
Python处理Excel数据,有两种思路, 一是通过相应的execl库进行操作,优点是最大限度保留了excel的特性,缺点是速度慢 另一种是以数据的思维,通过Pandas等库进行数据处理,速度快,缺点是损失execl特性 需求:读取一批excel表格文件,过滤出第三列数据符合某一条件的数据方法1:利用 openpyxl库处理,思路是删除不符合需要的行import openpyxlselect_list = ["XXX","YYY"]#打开表格的第一个原创 2021-10-29 19:24:46 · 8068 阅读 · 0 评论 -
python邮件发送:发送csv表格并转成HTML表单形式,添加多收件人与抄送功能
代码:# 将csv转成html表单并发送html内容的邮件,带抄送功能import smtplib, timefrom email.header import Headerfrom email.mime.text import MIMETextimport pandas as pddef csv_to_html(): upload_path = 'total_data.csv' df = pd.read_csv(upload_path, encoding="utf-8",n原创 2021-07-05 19:06:18 · 653 阅读 · 0 评论 -
利用pyinstaller将py程序打包成exe
机器环境; Python2.7 + Python 3.6需求:需要将python2代码打包成exe格式第一次尝试:pip install pyinstaller pyinstaller -F 文件名.py-F,–onefile 打包为单个文件问题:默认为python3。运行失败、第二次尝试:首先卸载pyinstaller,之后pip2 install pyinstaller报错。解决方案:去pypi下载老版本支持python2的pyi...原创 2021-02-20 18:07:23 · 165 阅读 · 0 评论 -
2021_笔记1
1 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。2 Python写文件:with open("D:\\test.txt", encoding="utf-8",mode="a") as file: file.write("older driver")当with下面的语句执行完毕之后,它会自动帮我们关闭此文件,无需我们手动close文件。3 Python调用li...原创 2021-01-07 14:49:40 · 91 阅读 · 0 评论 -
Python3中利用multiprocessing进行数据并行处理
官方文档摘录:multiprocessing 是一个支持使用与 threading 模块类似的 API 来产生进程的包。 multiprocessing 包同时提供了本地和远程并发操作,通过使用子进程而非线程有效地绕过了 全局解释器锁。 因此,multiprocessing 模块允许程序员充分利用给定机器上的多个处理器。 它在 Unix 和 Windows 上均可运行。multiprocessing 模块还引入了在 threading 模块中没有的API。一个主要的例子就是 Pool 对象,它提供原创 2020-12-29 14:55:18 · 1022 阅读 · 1 评论 -
Cenos7下利用yum安装Python3
输入查看当前python版本:pythonPython 2.7.5 (default, Oct 30 2018, 23:45:53)可以看到当前是python2,输入python3报错。下面开始安装python3:查看可用源:yum -y list python*安装指定版本:yum -y install python36建立软链接:ln -s /usr/bin/python3.6 /bin/python3输入python3,可以看到安装成功:p.原创 2020-12-29 14:07:00 · 809 阅读 · 0 评论 -
print函数的高级用法(输出到文件,自定义间隔符,强制刷新)
环境:Python3.6python命令行输入:help(print) #help() 函数用于查看函数或模块用途的详细说明。显示如下:>>> help(print)Help on built-in function print in module builtins:print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints th.原创 2020-12-22 17:00:22 · 1547 阅读 · 0 评论 -
利用Python消费RocketMQ消息队列数据
语言:python3.6环境:centos 71 安装 rocketmq-pythonpip install rocketmq2 并不能直接使用,需要先安装 rocketmq-client-cpp 环境。教程见:https://github.com/apache/rocketmq-client-python步骤: 下载对应版本,安装。3 运行示例代码报错:from rocketmq.client import PullConsumerconsumer = .原创 2020-12-16 14:34:46 · 6321 阅读 · 1 评论 -
记录下在远程服务器安装Python第三方库
总体而言,分为三步1 去pypi下载对应的压缩包2 利用 rz -bye命令上传3 解压,运行安装以redfis库为例:1 进入官网搜索相应包: https://pypi.org/找到下载链接,保存至本地2 利用rz -bye命令完成上传3 利用tar命令进行解压:tar zxvf etcbak.tar.gz 解压一个tar4 cd 进解压的目录,运行python3 setup.py install备注 python后面的数字视版本而..原创 2020-12-14 09:12:12 · 3574 阅读 · 1 评论 -
一个小demo理解Python中的try-except捕获异常机制
a = 0try: if a: print('True') elif not a: print("Not")except Exception as e: print(e)else: print('正常运行')finally: print('运行结束')结果:Not正常运行运行结束将第一行注释:#a = 0try: if a: print('True') elif not.原创 2020-12-08 18:36:37 · 90 阅读 · 0 评论 -
利用pyzabbix向zabbix server端send监控值
1 新建监控项进入zabbix网页端, 配置->主机->选择群组->点击监控项创建监控项->定义名称与类型,尤其注意 键值,信息类型,类型选择zabbix收集器。随后点击首页,最新数据,点击查看无资料项目,输入刚才创建的名称,即可看到监控项已创建。2 利用pyzabbix推送from pyzabbix import ZabbixMetric, ZabbixSenderfrom pyzabbix import ZabbixAPI, ZabbixAPIExcep.原创 2020-12-02 10:11:41 · 823 阅读 · 1 评论 -
转载:python中单继承、多继承、重写和调用父类同名属性和方法、super()
关于Python中的多父类继承一直不太熟悉,这篇写的很好。https://blog.csdn.net/S201314yh/article/details/79874077单继承在python中 来类中 子类继承了父类 子类就拥有了父类的属性和方法 格式: class 子类名(父类名): class Prentice(Master): pass 单继承 就是只有一个父类多继承多继承格式: class 子类名(父类1, 父类2, ...): clas..转载 2020-12-02 09:20:58 · 340 阅读 · 0 评论 -
解析Python中常见的特殊方法: __repr__
转载链接:https://www.cnblogs.com/tizer/p/11178473.html在Python中有些方法名、属性名的前后都添加了双下划线,这种方法、属性通常都属于Python的特殊方法和特殊属性,开发者可以通过重写这些方法或者直接调用这些方法来实现特殊的功能。其实前面见过的构造方法__init__() 就是一种特殊方法,开发者可以通过重写类中的__init__方法实现自己想要的初始化逻辑。class Item(): def __init__(self,name,pri...转载 2020-11-26 18:12:18 · 320 阅读 · 0 评论 -
MongoEngine中文入门教程(Python)
MongoEngine中文入门教程翻译整理自官方文档 http://docs.mongoengine.org/tutorial.html本教程通过创建一个简单的微博客(tumblelog)来学习MongoEngine。1 安装MongoEngine只需要使用pip安装即可,命令:$ python -m pip install mongoengine使用connect功能函数。第一个参数是要连接的数据库的名称:from mongoengine import *connect原创 2020-11-20 14:37:23 · 2295 阅读 · 0 评论 -
Flask后端开发学习笔记(1)
[本文总结自Flask-Microblog教程] https://github.com/luhuisicnu/The-Flask-Mega-Tutorial-zh1 输入exit()并回车来退出交互式解释器,Linux和Mac OS X操作系统上,按下快捷键Ctrl-D也可以快速退出交互式解释器。在Windows操作系统上,则是通过按下Ctrl-Z后跟上Enter快捷键来快速退出。2 为了解决维护不同应用程序对应不同版本的问题,Python使用了虚拟环境的概念。3 在Python中,包含__..原创 2020-10-30 10:27:40 · 463 阅读 · 0 评论 -
Python3中调用Cloudstack-API代码
参考自:python2版本#!/usr/bin/env python #-*- coding:utf-8 -*-#import urllib2import urllibimport hashlibimport hmacimport base64import jsonimport requestsdef requestUrl(url, apike, signature, command): request = {} request['command'] = com原创 2020-09-17 09:21:53 · 226 阅读 · 0 评论 -
小例子验证Python中的@staticmethod@classmethod方法
参考链接:https://zhuanlan.zhihu.com/p/28010894直接上例子:class man(): @classmethod def drink(cls): print('bilibili~( ̄▽ ̄)~*????') def eat(self): print('I want to eat some beef') @staticmethod def sleep(): print('zzz原创 2020-09-09 14:55:43 · 125 阅读 · 0 评论 -
面向对象编程小例子—python
class man(): def __init__(self,food): self.food = food def skill(self): print('I can code')class Han(man): def __init__(self,food,sexname): super().__init__(food) self.sex = sexnameH = Han('bread','man')print.原创 2020-09-09 11:07:18 · 207 阅读 · 0 评论 -
Git入门笔记
参考菜鸟教程,廖雪峰老师的教程Git 是一个开源的分布式版本控制系统。如何进行code review、代码质量把控、冲突降低是git的优势。尽量可能的降低耦合性就是git版本控制工具的核心思想。千万不要使用Windows自带的记事本编辑任何文本文件。Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。master分支应该是非常稳定的,也原创 2020-08-07 09:58:59 · 158 阅读 · 0 评论 -
Docker入门笔记
参考菜鸟教程定义:开源的应用容器引擎三个基本概念:镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 仓库(Repository):原创 2020-08-05 17:56:36 · 114 阅读 · 0 评论 -
Pycharm常用技巧总结
来源 知乎`ctrl+alt+L`,格式化代码alt+enter`万能键,比如可以install对应的模块`ctrl+space` 万能提示键,window需要更改`ctrl+shift+f10`运行当前文件`shift+enter`另起一行,光标在行内任意位置都能另起一行,且不破坏当行结构`ctrl+alt+enter`向上另起一行量或表达式的最后键入`.(点)`,出现提示后,看最下面的部分有各种代码模板双击`shift`搜索一切Help > Tip of...原创 2020-08-05 17:30:27 · 220 阅读 · 0 评论