python
小木树
程序员
展开
-
Python3 字符串ip与int整数值互转
字符串ip转为int型整数值:def ip2int(ip): return sum(int(v) * 256 ** (3 - i) for i, v in enumerate(ip.split(".")))int型整数值转为字符串ip:def int2ip(number): result = [] for i in range(4): number, mod = divmod(number, 256) result.insert(0, mo原创 2021-12-27 23:14:17 · 1786 阅读 · 0 评论 -
APScheduler动态增、删、改任务
记一次通过faust读取kafka数据动态增、删、改APScheduler任务的笔记,手敲无测!# -*- coding: utf-8 -*-import asyncioimport loggingimport faustimport ujsonfrom apscheduler.executors.pool import ThreadPoolExecutorfrom apscheduler.jobstores.mongodb import MongoDBJobStorefrom aps原创 2021-09-10 00:33:45 · 4771 阅读 · 2 评论 -
一日一技:Python标准库中的缓存装饰器
缓存缓存是一种出色的技术,用于改善各种应用程序的性能,其背后的理念是将好不容易得到的结果存储在临时区域,这种区域被称为缓存区,可以是内存、磁盘或数据库等。Web应用大量地使用了缓存技术,在Web应用中,常常会发生多位用户同时请求同一个页面的情况,在这种情况下,Web应用可只生成网页一次,并向用户提供已渲染好的页面,而不是在每位用户请求时都重复生成页面,理想情况下,缓存技术还需使用有效的验证机制,以便需要更新网页时重新生成,再将其提供给用户,智能缓存技术让Web应用能够处理更多的用户,同时消耗更少的资原创 2020-08-27 23:29:53 · 1594 阅读 · 1 评论 -
一日一技:python中下划线在不同位置的作用
在Python的变量名和方法名中,单下划线和双下划线都有各自的含义,有的仅仅是作为约定,用于提示开发人员,而有的则对Python解释器有特殊含义。你可能有些疑惑,在Python中变量名和方法名中的单下划线、双下划线到底有什么含义?下面我们就来看看下面五种下划线模式和命名约定,以及它们各自如何影响Python程序的行为: 前置单下划线:_var 后置单下划线:var_ 前置双下划线:__var 前后双下划线:__var__ 单下划线:_ 前置单下划线:_v原创 2020-08-26 22:49:45 · 270 阅读 · 0 评论 -
一日一技:使用virtualenv隔离项目依赖
为什么要使用虚拟环境?Python有强大的打包系统,可用来管理程序的模块依赖关系,我们经常使用pip打包管理命令安装第三方软件包,但是使用pip安装有一个问题,那就是软件包默认会被安装到全局Python环境中。当然,这样安装的新软件包在系统上可以正常使用,但如果需要同时处理多个项目,不同的项目又依赖于同一个软件包的不同版本,那么很快就会导致一场噩梦。例如,一个项目需要库的1.0版本,而另一个项目需要这个库的2.0版本,在全局安装软件包时,所有程序只能使用同一版本的Python软件包,因此会遇到版本冲原创 2020-08-20 22:48:41 · 339 阅读 · 0 评论 -
一日一技:python中的断言
使用python中的断言来自动检测python程序中的错误,让程序更加可靠且更易于调试:从根本上来说,python中的断言语句是一种调试工具,用来测试某个断言条件,如果断言条件为True,则程序将继续正常执行;但如果断言条件为假False,则会引发AssertionError异常并显示相关的错误消息。示例:假设你需要使用python构建在线商城,为了添加打折优惠功能,你编写了下面这个apply_discount函数:def apply_discount(product, discount)原创 2020-08-17 23:22:44 · 3844 阅读 · 1 评论 -
Python中的四种字符串格式化
假设有以下变量可以供我们使用:name = "小明"age = 20方式一:通过 % 操作符没加别名时,%号后的参数需要按顺序传入:result = "我的名字叫%s,我今年%d岁了。" % (name, age)print(result) # 我的名字叫小明,我今年20岁了。加了别名时根据别名传参,可以不按顺序传递参数:result = "我的名字叫%(name)s,我今年%(age)d岁了。" % {"name": name, "age": age}print(re原创 2020-05-14 23:57:19 · 587 阅读 · 0 评论 -
Python中使用scroll读取大量数据
Python操作ES,读取大量数据,写入到JSON文件中# -*- coding: utf-8 -*-import jsonfrom elasticsearch import ElasticsearchHOST_PORT = [{"host": "xxx.xx.xx.xx", "port": 9200}] # 连接ES的主机IP和端口号TIME_OUT = 20 # 设置请求...原创 2019-12-05 00:13:08 · 767 阅读 · 0 评论 -
Python操作Mongodb2
Python操作Mongodb的高级操作数据准备,向Mongodb中的test库下的students集合中插入4条数据:from pymongo import MongoClientclient = MongoClient()database = client.testcollection = database.studentsstudents = [ {"name"...原创 2019-11-21 17:47:52 · 238 阅读 · 0 评论 -
python从入门到实践配套资源免费下载
git上的下载地址:https://github.com/ehmatthes/pcc个人百度云盘下载地址链接:https://pan.baidu.com/s/1wyK0C6iSS2MrX4bWmqr9tw 提取码:c6so书中 16.2 制作世界人口地图:JSON格式 中的一些问题:①from pygal.i18n import COUNTRIES 报异常:Module...原创 2019-10-25 19:02:59 · 3813 阅读 · 0 评论 -
python中将print()输出重定向到文件中
将输出重定向到文件中:将print语句输出重定向到当前路径下的 log.txt 文件中:with open("log.txt","at") as f : print("hello world!", file=f)配合print的sep和end参数,可以改变输出内容的分隔符或结束符:with open("log.txt","at") as f : ...原创 2019-10-17 23:09:24 · 3171 阅读 · 0 评论 -
使用decimal模块四舍五入
使用decimal模块四舍五入from decimal import Decimal, ROUND_HALF_UP# Decimal()中建议使用字符串类型,不要使用float类型,否则,当你赋值的时候,精度已经被丢失了number = Decimal('11.245')# 默认rounding=ROUND_HALF_EVEN,表示进位方式为奇进偶舍# 如果要指定真正的四舍五入,需...原创 2019-10-16 17:42:22 · 2941 阅读 · 0 评论 -
python中使用递归实现斐波那契数列
python中使用递归实现斐波那契数列使用递归返回前num项的斐波那契数列:def funcName(num) : def innerFunc(num) : if num == 0 : return 0 elif num == 1 or num == 2 : return 1 else...原创 2019-10-13 23:17:20 · 1962 阅读 · 0 评论 -
python选择排序、冒泡排序和sorted()函数
在python中实现选择排序和冒泡排序# 选择排序def sortName(arr) : for i in range(len(arr)-1) : min_index = i for j in range(i+1,len(arr)) : if arr[min_index] > arr[j] : ...原创 2019-10-13 23:03:56 · 405 阅读 · 0 评论 -
Python合并两个原本有序的列表
Python中将两个原本有序的列表,合并为一个有序的列表列如:import heapqarr1 = [2,4,6,8,10]arr2 = [1,3,5,7,9]res = list(heapq.merge(arr1,arr2)) # merge 方法返回 generator 类对象,使用 list() 进行转换print(res)输出结果为:...原创 2019-09-19 21:53:22 · 589 阅读 · 0 评论 -
Python操作Mongodb
使用Python操作Mongodb需要使用第三方库PyMongo,这里使用pip进行安装:pip install pymongoPyMongo操作Mongodb需要初始化数据库连接,例如:①当Mongodb运行在本机,且没有修改端口号和添加账号密码时,不需要传入参数,直接使用 client = MongoClient() 获取连接from pymongo import Mong...原创 2019-08-18 01:00:02 · 164 阅读 · 0 评论 -
Python生成MD5、SHA1
生成MD5:import hashlibimport jsondef get_md5(data): m5 = hashlib.md5() m5.update(json.dumps(data).encode()) return m5.hexdigest()print(get_md5("hello")) # 5deaee1c1332199e5b5bc7c5e4f...原创 2019-07-31 11:36:45 · 1035 阅读 · 0 评论 -
python3中Elasticsearch的基本使用
刚开始学习Elasticsearch,记录在python3中的使用。使用pip在python环境中安装elasticsearch(打开cmd输入以下语句):pip install elasticsearch安装完成后,在python代码中导入elasticsearch:from elasticsearch import Elasticsearch接着获取elasticsea...原创 2019-04-24 00:00:23 · 3922 阅读 · 0 评论 -
Python读写csv文件
Python中内置了csv模块,用于读写.csv文件csv写入文件:1、使用 writerow() 方法writerow()方法会将传入的数据填充为csv 文件的一行使用writerow() 方法写入 list 型数据(将数据写到当前目录下的 names.csv 文件中):import csvdatas = [['1', 'mark'],['2', 'hulk'],...原创 2019-07-19 21:49:55 · 2713 阅读 · 0 评论