
python
高压锅_1220
宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒!
心中有阳光,脚下有力量!
展开
-
python 获取本周 ,上周,本月,上月,本季,上季,今年, 去年的第一天和最后一天
【代码】python 获取本周 ,上周,本月,上月,本季,上季,今年, 去年的第一天和最后一天。转载 2022-12-23 17:17:10 · 485 阅读 · 0 评论 -
在Python里面判断多个变量全部/任意不为空
我们在写Python 函数的时候,可能会需要判断传入的多个参数是否同时为空/None/False,或者是否有任何一个不为空/None/False。它也是接受一个列表,列表里面只要有一个元素不为None False 空列表/空字符串/空元组/空……all关键字接受一个列表,这个列表里面的多个元素必需同时不为None False 空列表/空字符串/空元组/空。实际上,在Python里面有两个内置的关键字all和any可以快速实现这个目的。这样写虽然可以达到效果,但是要多写几个and或者or总是有点麻烦。转载 2022-12-23 17:14:32 · 3259 阅读 · 0 评论 -
python 常用校验方法总结
python在执行代码过程是不知道这个字符是什么意思的、是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言。也就是说在计算机中所有的字符都是有数字来表示的。汉字也是有数字表示的,Unicdoe4E00~9FFF表示中文,所以如果一个字符的utf-8编码在这个区间内,就说明它是中文。转载 2022-12-23 16:23:37 · 2485 阅读 · 0 评论 -
FastAPI框架对请求参数的接收验证Path, Query, Body
FastAPI框架自带了对请求参数的验证,包括在路径中的参数、请求的参数以及Body中的参数,使用Path提取和验证路径参数;使用Query提取和验证?请求中的参数,使用Body将参数让客户端由body(默认application/json方式)传入。#示例python代码 from fastapi import FastAPI , Path , Query , Body。转载 2022-12-23 16:15:52 · 1863 阅读 · 0 评论 -
python3 安装和卸载
一、默认情况下,linux自带python,查看python版本:python --version,如果已经安装了python3则不用装了。二、下载安装包,找到要下载版本的tgz文件,Python-3.8.0.tgz(以3.8.0版本为例),下载。七、 编译源码并执行源码安装,如图,则代表安装完成,可以看到setuptools和pip也安装成功了。六、进入Python-3.8.0目录,配置安装目录,这里的安装目录对卸载的时候很友好,建议配置。九、输入python3,查看是否安装成功, 如图, 安装成功。转载 2022-12-23 15:50:48 · 5094 阅读 · 0 评论 -
python 配置uwsgi 启动Django框架
uwsgi启动的linux shell命令,项目在/home/oper/simp/Weekreport下。编写uwsgi.ini,以wsgi方式启动uwsgi,此时无法通过web访问的方式测试是否启动,在/etc/nginx/conf.d下新建一个uwsgi.conf。如控制台出现以下提示,八成是成功了。编写test.py测试uwsgi。启动uwsgi服务,设置开机启动。原创 2022-12-23 15:28:46 · 686 阅读 · 0 评论 -
Python IP地址处理IPy模块
先下载源码,地址:ps://pypi.python.org/pypi/IPy/">,然后解压后使用命令python setup.py install安装。实例介绍几个常用方法,包括方向解析名称、IP类型、IP进制转换、网络地址网段地址转换。ipy模块用法: 一个自动识别IP地址、子网、方向解析、IP类型等信息的脚本。转载 2022-12-22 16:52:31 · 647 阅读 · 0 评论 -
python 去掉字符串首尾空格
note: replace() 不会修改原字符串。转载 2022-12-22 16:33:52 · 7395 阅读 · 0 评论 -
python 内网按照依赖环境
【代码】python 内网按照依赖。原创 2022-12-22 16:28:00 · 240 阅读 · 0 评论 -
正则表达式匹配URL
1. PHP (use with preg_match)%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?:转载 2021-08-26 14:56:17 · 2011 阅读 · 0 评论 -
uwsgi 部署Django 日志相差8小时文件解决(Django setting.py设置时区)
若TIME_ZONE设置为其它时区的话,则还要分情况,如果是Windows系统,则TIME_ZONE设置是没用的,Django会使用本机的时间。如果为其他系统,则使用该时区的时间,设置则使用上海的UTC时间。如果USE_TZ设置为True时,Django会使用系统默认设置的时区,即America/Chicago,此时的TIME_ZONE不管有没有设置都不起作用。如果USE_TZ 设置为False,而TIME_ZONE设置为None,则Django还是会使用默认的America/Chicago时间。转载 2022-12-09 17:28:30 · 425 阅读 · 0 评论 -
Python 保留两位小数几种方法
(3)当精确位后面一位的数字是5的,此时需要看这个5后面是否还有值。如果5后面有值(0忽略),则直接进位;(4)如果5后面没值或值为0,则需要判断5前面的值是偶数还是奇数。(2)当精确位后面一位的数字是6-9的时候,进1位。(5)如果5前面是偶数,不进位;(1)当精确位后面一位的数字是1-4的时候,舍去。转载 2022-09-13 19:21:04 · 107766 阅读 · 2 评论 -
python 实现单例模式
单例模式(Singleton Pattern):是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。转载 2022-08-19 14:14:52 · 309 阅读 · 0 评论 -
python datetime 计算两个日期之间的天数差
代码】python datetime 计算两个日期之间的天数差。转载 2022-08-11 19:52:59 · 7276 阅读 · 0 评论 -
uWSGI部署
2. 验证uWSGI新建文件test.py执行启动中间件命令打开浏览器访问http://localhost:8000,如果返回Hello World代表uwsgi安装和配置没有问题了。配置外网访问: 如果需要在主机上访问虚拟机部署的项目需要绑定特定IP。3. uwsgi 部署 Django如果项目时采用前后端分离架构,那么在配置时使用–http-socket参数。可能出现的问题: 1. 找不到模块解决方案:是在设置环境变量前项目添加至系统目录。打开项目wsgi.py文件,添加如下代码:更通用转载 2022-06-13 14:02:19 · 504 阅读 · 0 评论 -
uwsgi 部署 django
中文文档:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/StatsServer.html2.2 和manager.py同一级 创建启动文件projectName_uwsgi.ini (建议这样命名)2.3 uwsgi 命令3 nginx + uwsgi + django 部署前面的uwsgi 单独部署不变,需要修改uwsgi.ini 的服务为 socket = 127.0.0.1:8000 (不使用http = 127.0.0.1:80转载 2022-06-10 15:07:47 · 3496 阅读 · 1 评论 -
uwsgi+Django下部署静态文件
1.STATIC_URL = ‘/static/’**这个配置是让网页可以访问到静态文件https://www.xxxxx.cn/static/css/index.css,就像这样,相当于给了一个叫做static的路由,这样就有了一个能够访问到静态文件的地址了。2.STATIC_ROOT = os.path.join(BASE_DIR, ‘collectedstatic’)这个配置是为了将静态文件复制到一个所有服务端用户都可以访问的文件夹:collectedstatic,名字任取,部署的时候操作。其中B转载 2022-06-10 14:58:29 · 1484 阅读 · 0 评论 -
Redis 分布式锁
1. 第一种方法:gunicorn 启动的时候加上 --preload 参数,或者 preload_app=True ,默认为 False2. 第二种方法第二种是使用 锁 的方式来控制https://www.codercto.com/a/67929.htmlfrom django.conf import settings from apscheduler.schedulers.background import BackgroundScheduler from django_apscheduler转载 2022-05-20 17:28:08 · 2670 阅读 · 0 评论 -
Django中CSRF作用
1. CSRF是什么跨站请求伪造(CSRF)与跨站请求脚本正好相反。跨站请求脚本的问题在于,客户端信任服务器端发送的数据。跨站请求伪造的问题在于,服务器信任来自客户端的数据。2. Form提交(CSRF)那么在Django中CSRF验证大体是一个什么样的原理呢?下面通过一个小例子来简单说明一下:我们把Django中CSRF中间件开启(在settings.py中)'django.middleware.csrf.CsrfViewMiddleware'3. 前端写法而csrf验证其实是对http请转载 2022-05-20 16:51:16 · 511 阅读 · 0 评论 -
Python 递归查询文件夹,打印文件
1. 代码import osdef list_file_or_folder(path_name): file_folder_name = os.listdir(path_name) for name in file_folder_name: temp_path_name = path_name + "/" + name if os.path.isdir(temp_path_name): print("%s 是文件夹" % nam原创 2022-05-05 19:26:58 · 864 阅读 · 0 评论 -
Python 类装饰器
1. 手写代码class Test(object): def __init__(self, func): print("初始化") print("func name is %s" % func.__name__) self.__func = func def __call__(self, *args, **kwargs): print("————————装饰器中的功能-——————-") self.__fu原创 2022-05-03 15:08:44 · 392 阅读 · 0 评论 -
Python 带有参数的装饰器
1. 装饰器带有参数(比如:retry)import timedef call_out(timeout=0): def check_login(func): def wrapper(*args, **kwargs): print("-------1--------") time.sleep(timeout) ret = func(*args, **kwargs) print("--原创 2022-05-03 12:17:13 · 836 阅读 · 0 评论 -
Python 装饰器的嵌套
1. 多层装饰器嵌套def makeBold(func): def wrapper(*args, **kwargs): return "<b>" + func() + "<b>" return wrapperdef makeItail(func): def wrapper(*args, **kwargs): return "<i>" + func() + "<i>" return wrap原创 2022-05-03 12:09:00 · 995 阅读 · 0 评论 -
python 超长字符截断处理
1. 字符串超过某个长度,截取,后面加…适用于超长字符串和短字符串,此次长度为4long_str = "超长字符截取sdjaljdslajsljasldjla"short_str = long_str[:4] + (long_str[4:] and '...')short_str# output: '超长字符...'string = "短字符"short_str = string[:4] + (str[4:] and '...')short_str# output: '短字符'..原创 2022-04-25 10:59:24 · 2388 阅读 · 0 评论 -
python 获取零点的时间戳
1. 获得昨天和今天凌晨0点的时间昨天0点今天0定2. 代码如下import time#为当前时间到当天0点的秒数、86400为1天的秒数、北京时间的time.timezone值是-28800,所以是+int(time.time()-time.timezone) %86400 #当天0点时间戳zeroPoint = int(time.time()) -int(time.time()-time.timezone) %86400 #昨天0点时间戳yesterdayZeroPoint转载 2022-04-18 11:32:25 · 4590 阅读 · 0 评论 -
一秒看懂 python datetime、13位和10位时间戳、字符串相互转换方法
1. 将13位数字转化为字符串将 13 位整数的毫秒时间戳转化成本地普通时间 (字符串格式)在这里插入代码片http://c.biancheng.net/view/4552.htmlhttps://blog.youkuaiyun.com/woddle/article/details/97389197原创 2022-04-18 11:14:03 · 4945 阅读 · 0 评论 -
Linux 查找文件
1. find 用法find单词本身就是查找到意思,意思在指定根路径下找目标文件。# find 全局搜索find / -name redis-serverfind / -name redis-server*2. which 用法which查找文件与find方式不同,which从环境变量文件(/etc/profile)中的path目录中查找,且which找的都是可执行文件。# 查找环境变量which python3. whereis 用法与which类似查询可执行文件,whereis查原创 2022-04-18 10:52:01 · 134 阅读 · 0 评论 -
python lambda 常用的几种排序
1. 对单个变量进行排序以元素的第一个元素升序排列#lst = [[1,5],[2,6],[3,7]]lst.sort(key = lambda x : x[0])#lst = [[1,5],[2,6],[3,7]]2. 对多个变量进行排序以元素的第二个元素先升序排列,再以第一个元素升序排列#lst = [[5,8],[5,3],[3,1]]lst.sort(key = lambda x : (x[1],x[0]))#lst = [[3,1],[5,3],[5,8]]3. 降序排列转载 2022-04-18 10:36:45 · 6496 阅读 · 0 评论 -
gevent 多任务图片下载器
1. 代码import geventimport urllib.requestdef download(image_name, image_url): req = urllib.request.urlopen(image_url) image_content = req.read() with open(image_name, "wb") as f: f.write(image_content)def main(): image1_url原创 2022-03-16 14:51:14 · 363 阅读 · 0 评论 -
gevent实现多任务简洁写法
1. 代码import geventfrom gevent import monkeyimport time# 将程序中用到的耗时操作的代码,换位gevent中自己实现的模块monkey.patch_all()def f1(n): for i in range(n): print(gevent.getcurrent(), i) time.sleep(0.5) # gevent.sleep(0.5)# 简洁写法gevent.jo原创 2022-03-16 11:38:46 · 419 阅读 · 0 评论 -
Python 使用gevent实现多任务(猴子补丁)
1. 代码import geventfrom gevent import monkeyimport time# 将程序中用到的耗时操作的代码,换位gevent中自己实现的模块monkey.patch_all()def f1(n): for i in range(n): print(gevent.getcurrent(), i) time.sleep(0.5) # gevent.sleep(0.5)print("--------1原创 2022-03-16 11:35:05 · 895 阅读 · 0 评论 -
Python 使用gevent实现多任务(gevent.sleep等待)
1. 代码import geventimport timedef f1(n): for i in range(n): print(gevent.getcurrent(), i) # time.sleep(0.5) gevent.sleep(0.5)print("--------1---------")g1 = gevent.spawn(f1, 5)print("--------2---------")g2 = gevent.spa原创 2022-03-16 11:29:44 · 1491 阅读 · 0 评论 -
Python greenlet实现多任务
1. 代码import timefrom greenlet import greenletdef task_1(): while True: print("--------A------------") gr2.switch() time.sleep(0.1)def task_2(): while True: print("---------B-------------") gr1.switch原创 2022-03-16 11:15:57 · 681 阅读 · 0 评论 -
python 判断一个字符串是否是IP地址
1. 代码import redef is_ip(str): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if p.match(str): return True else: return Falseip_str = "255.255.haha.255"if is_ip(ip_str): print(ip原创 2022-03-16 10:46:56 · 3424 阅读 · 0 评论 -
面试题: 使用生成器实现多任务(协程)
1. 代码import timedef task_1(): while True: print("------------1-------------") time.sleep(0.1) yielddef task_2(): while True: print("------------2-------------") time.sleep(0.1) yielddef main原创 2022-03-14 17:46:17 · 174 阅读 · 0 评论 -
面试题: 生成器实现斐波那契
1. 使用生成器实现斐波那契注意: 1. 使用yield2. 代码def create_num(count): current_count = 0 a, b = 0, 1 while current_count < count: yield a a, b = b, a + b current_count += 1obj = create_num(20)# res = next(obj)# print(obj)原创 2022-03-14 17:01:51 · 387 阅读 · 0 评论 -
面试题:使用迭代器完成斐波那契
1. 使用迭代器的方式完成斐波那契题解:1. 使用iter方法; 2. 使用next方法2. 代码class Fibonacci(object): def __init__(self, index): self.index = index self.current_number = 0 self.a = 0 self.b = 1 def __iter__(self): return self d原创 2022-03-14 16:44:09 · 184 阅读 · 0 评论 -
SqlAlchemy 使用
案例代码from sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column,INTEGER,String,DECIMALfrom sqlalchemy.orm import sessionmakerusername='root'passwd='root'port=3306ip_dz='127.0.0.1'databa转载 2022-01-24 17:30:10 · 605 阅读 · 0 评论 -
Sqlalchemy 常用数据类型
1. SQLAlchemy常用数据类型Integer:整形,映射到数据库中是int类型。Float:浮点类型,映射到数据库中是float类型。他占据的32位。Double:双精度浮点类型,映射到数据库中是double类型,占据64位。String:可变字符类型,映射到数据库中是varchar类型.Boolean:布尔类型,映射到数据库中的是tinyint类型。DECIMAL:定点类型。是专门为了解决浮点类型精度丢失的问题的。在存储钱相关的字段的时候建议大家都使用这个数据类转载 2022-01-24 17:19:35 · 3009 阅读 · 0 评论 -
Python Logger 类
1. 使用工厂方法返回一个Logger实例logging.getLogger([name=None])# 案例import loggingDATEFMT ="[%Y-%m-%d %H:%M:%S]"FORMAT = "%(asctime)s %(thread)d %(message)s"logging.basicConfig(level=logging.INFO,format=FORMAT,datefmt=DATEFMT,filename='class_test.log') root =转载 2022-01-24 17:13:28 · 830 阅读 · 0 评论