自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (1)
  • 问答 (11)
  • 收藏
  • 关注

转载 cron 表达式说明及示例

cron 表达式解释说明及示例

2023-07-13 09:33:50 231

原创 python中IPv6与ipv4的相互转换(已测试)

ipv6,ipv4转换

2023-06-19 17:46:57 708

原创 python中零宽字符\ufeff(ZWNBS)及一些不正常字符的处理

python 零宽字符 \ufeff

2023-05-12 17:49:59 699

原创 python中使用reportlab创建PDF格式文件

https://blog.csdn.net/qq_15028721/article/details/128381880https://blog.csdn.net/liangyuannao/article/details/8897260

2023-03-24 18:42:37 142

原创 python中线程池ThreadPoolExecutor的使用

python线程池ThreadPoolExecutor的使用

2022-12-01 14:51:26 741

原创 Pyinstaller打包easyocr遇到的几点问题

Pyinstaller打包exe遇到的一些问题,缺少各种文件,中文名称等

2022-11-12 19:05:12 1361

翻译 不用 Python 自带的 Dict 实现自己的 MyDict

不用python自带的dict,实现自己的mydict

2022-08-25 14:38:35 200

转载 python中可以通过判断字符的unicode值来判断字符是不是中文/英文/半角符号等

python中可以通过判断字符的unicode值来判断字符是不是中文字符。

2022-06-22 14:59:02 605

原创 python常用的第三方库及其涉及领域

python常用第三方库

2022-06-08 09:56:30 1156

原创 pyhon中校验域名的正则表达式

1. Check whether a string looks like a valid domain name(?i)^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$ 2. Find valid domain names in longer text(?i)\b([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}\b 3. Check whether each part of the domain is not longer than 63 ch

2022-05-30 15:11:56 632

原创 pycharm中三引号回车,不能自动生成函数注释问题

自动生成函数注释,包括参数和返回值。使用方法,函数定义时,直接输入三个双引号后回车,例如:def add_script_flow(self, script_name, ip): """ 点击一个脚本命令图标,弹出参数配置框,选择脚本,输入执行ip和 :param script_name: 脚本名称 :param ip: 执行ip :return: """突然发现,不能自动生成注释参数了。方法如下:去File | Settings | T

2022-05-17 10:26:59 1272

原创 TCPsocket的应用及粘包问题解决

基于tcp的套接字客户端往服务端上传文件,发送时文件内容是按照一段一段的字节流发送的,在接收方看了,根本不知道该文件的字节流从何处开始,在何处结束所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。此外,发送方引起的粘包是由TCP协议本身造成的,TCP为提高传输效率,发送方往往要收集到足够多的数据后才发送一个TCP段。若连续几次需要send的数据都很少,通常TCP会根据优化算法把这些数据合成一个TCP段后一次发送出去,这样接收方就收到了粘包数据。TCP(tra

2022-04-14 15:42:26 614 1

原创 Python如何获取当前类或方法的名称

1、如果是直接写死在函数内可使用:sys._getframe().f_code.co_name示例:def func1(self): print(sys._getframe().f_code.co_name)2、单独写成函数,则使用:import inspectinspect.stack()[1][3]示例:import inspectdef get_func_name(): return inspect.stack()[1][3]class ClassNameA

2022-04-14 15:00:30 3160

转载 如何使用Python协程(asyncio、await关键字)

知道生成器(Generator)可由以下两种方式定义:列表生成器使用yield定义的函数在Python早期的版本中协程也是通过生成器来实现的,也就是基于生成器的协程(Generator-based Coroutines)。在前一篇介绍生成器的文章末尾举了一个生产者-消费者的例子,就是基于生成器的协程来实现的。def producer(c): n = 0 while n < 5: n += 1 print('producer {}'.forma

2022-04-11 15:43:27 905

原创 Python中Socket的用法及Close方法假关闭Socket连接的问题

最近用python的Socket写了一个传输通讯测试工具,但是发现在Server端调用close方法后,如果循环没有break的话,此连接还可以继续用来发送和接收数据。所以,我就觉得很是奇怪,难道close方法关闭的连接没有起作用吗?经过试验后,确实如此,以下是我的事例代码,Server端代码:from socket import *import threading,os,time class Server(): def __init__(self,host='127.0.0.1',por

2022-04-06 15:39:12 7534 2

原创 Shell 中的 expect 命令使用

expect 语法expect [选项] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]选项 -c:从命令行执行expect脚本,默认expect是交互地执行的 示例:expect -c 'expect "\n" {send "pressed enter\n"}' -d:输出调试信息 示例:expect -d ssh.exp expect中的相关命令

2022-03-08 15:32:03 3168

转载 linux expect 安装(第二种方式自测可行,方式一我自己搞的时候报错了)

linux expect 安装Expect是在Tcl基础上创建起来的,它还提供了一些Tcl所没有的命令,它可以用来做一些linux下无法做到交互的一些命令操作,在远程管 理方面发挥很大的作用。spawn命令激活一个Unix程序来进行交互式的运行。 send命令向进程发送字符串。expect 命令等待进程的某些字符串。 expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作.A. Tcl 安装主页: http://www.tcl.tk下载地址: http://www.

2022-03-07 17:38:22 1687

转载 python 带小数点时间格式转换为毫秒级时间,时间戳转换

Unix 时间戳根据精度的不同,有 10 位(秒级),13 位(毫秒级),16 位(微妙级)和 19 位(纳秒级)python 毫秒级时间,时间戳转换如下:时间转时间戳:import timefrom datetime import datetimetimestr = '2019-01-14 15:22:18.123'datetime_obj = datetime.strptime(timestr, "%Y-%m-%d %H:%M:%S.%f")obj_stamp = int(time.mkt

2021-12-08 18:02:21 7532

原创 kafka在python中的使用及结束kafka消费者

先说下问题:正常使用kafka消费者,接收消息时,会出现消息循环无法结束问题,增加参数 consumer_timeout_ms:超时时间(毫秒),超过指定时间没有获取到消息关闭kafka。(例子如下)consumer.py文件:from kafka import KafkaProducer, KafkaConsumerimport timeclass KafkaClient(object): topic = "topic" # 使用的kafka的topic client = "0.0.

2021-12-06 16:54:35 6318

转载 docker部署kafka后,使用命令操作

首先进入docker容易内部,docker ps查看正在运行的容器然后通过docker exec -it 容器id bash命令进入容器内部对topic进行增删改查进入kafka安装文件夹 cd /opt/kafka/bin1、增加topickafka-topics.sh --create --topic example --zookeeper zookeeper:2181 --replication-factor 1 --partitions 12、查看topickafka-topic

2021-12-03 15:43:14 991

原创 使用channels+asgi实现socket通信,且在celery中使用(亲测使用)

ps:使用windows+djang + asgi +channels1、在总url同级目录下创建routing.py文件from django.urls import re_pathfrom channels.auth import AuthMiddlewareStackfrom channels.routing import ProtocolTypeRouter, URLRouterfrom projects import consumers # consumers.py文件所在位置ap

2021-12-02 11:14:22 794

转载 Python实现的读取/更改/写入xml文件操作

原始文档内容(test.xml):<?xml version="1.0" encoding="UTF-8"?><framework> <processers> <processer name="AProcesser" file="lib64/A.so" path="/tmp"> </processer> <processer name="BProcesser" file="lib64/B.so" v

2021-11-30 17:07:39 830

转载 在python中组装jmx,并调用jmeter执行

Python组装jmx并调用JMeter执行压测JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测Python调用JMeter#首先要安装JMeter,官方下载地址1、解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如unzip apache-jmeter-5.3.zipmv apache-jmeter-5.3 /usr/loca/jmeterln -s /usr/local/jmeter/bin/jmeter /

2021-11-30 15:29:24 1849

原创 python中文件的上传和文件下载或字符串转文件对象下载

1、上传使用form-data的方式,上传文件,后端接收:files = request.FILES.getlist("files)for file in files: file_name = file.name # 文件名 with open("xxxx+文件名", “wb”)as f: # 方式1:对于不是很大的文件可以直接读取写入 # file_content = file.read() # f.write(file_content) # 方式2: 对于很大的文件,分次写入

2021-11-26 15:43:59 838

转载 django 做 migrate 时 表已存在的处理方法

在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来。这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误:django.db.utils.OperationalError: (1050, "Table 'xxx' already exists")要处理这种情况,如果是数据表都已经存在了,在migrate时直接使用 --fake-initial 来处理python manage.py mi

2021-11-18 14:43:37 1065

原创 django中orm对应mysql的数据类型

一、字段类型对应关系data_types = {‘AutoField’: ‘integer AUTO_INCREMENT’,‘BigAutoField’: ‘bigint AUTO_INCREMENT’,‘BinaryField’: ‘longblob’,‘BooleanField’: ‘bool’,‘CharField’: ‘varchar(%(max_length)s)’,‘CommaSeparatedIntegerField’: ‘varchar(%(max_length)s)

2021-11-17 10:15:35 460

原创 celery 日志配置及按大小分割保存

1、config中设置import loggingLOG_CONFIG = { 'version': 1, 'disable_existing_loggers': false, # 是否禁用已存在的日志器 ‘formatters’: { # 日志信息显示格式 'simple': { 'format': '%(asctime)s \"%(module)s:%(funcName)s:%(lineno)d\" [%(levelname)s - %(message)s]', }, }

2021-11-15 16:21:27 1125

原创 django中日志按大小存储

1、设置:LOGGING = { 'version': 1, 'disable_existing_loggers': false, # 是否禁用已存在的日志器 ‘formatters’: { # 日志信息显示格式 ‘verbose’: { 'format': '%(levelname)s %(asctime)s %(modules)s %(lineno)d %(message)s', }, 'simple': { 'format': '%(levelname)s %(m

2021-11-15 16:07:30 226

原创 vue中阻止F5刷新页面

2021-11-02 11:51:23 2113 3

转载 luckysheet内网(离线)使用

luckysheet内网(离线)使用需要先把有关联网引用的文件,搞下来:const dependScripts = [ // 'https://cdn.jsdelivr.net/npm/[email protected]', 'expendPlugins/chart/online/Vue.js', // 'https://unpkg.com/[email protected]', 'expendPlugins/chart/online/vuex.js', // 'https://cdn.bootc

2021-10-14 16:02:51 1134 1

转载 使用LuckySheet实现线上Excel与导入导出(实测可离线使用)

使用LuckySheet实现线上Excel与导入导出一 Java使用LuckySheet实现线上Excel首先准备好相关的静态资源内容再定义一个div,当做线上Excel的容器然后定义luckysheet的属性option,创建对象: luckysheet.create(options)<!DOCTYPE html ><html xmlns:th="http://www.thymeleaf.org"><head> <meta charset="

2021-10-14 15:57:56 6798 1

转载 npm用法及离线安装方法

npm用法及离线安装方法基本的用法查看某个模块的全部信息,或者可以查看单个信息npm info namenpm info name versionnpm info name homepageinstall支持多种手段,包名,git路径,包括本地路径也可以sudo npm install -global [package name]npm install git://github.com/package/path.gitnpm install git://github.com/package

2021-10-14 11:01:46 4473 1

原创 npm离线安装npm包的两种方法

1、使用npm link使用npm link 的方式是最常用的方法,具体做法是在联网机器上下载pm2的源码并安装好依赖,拷贝到离线服务器上,最后借助npm link将pm2链接到全局区域。首先,将pm2的源代码克隆下来:$ git clone https://github.com/Unitech/pm2.git然后进入到pm2项目中,安装好所有的依赖:$ cd pm2$ npm install将安装好依赖的pm2文件夹拷贝到目标服务器上,进入pm2目录链接到全局区域:$ cd pm2$ n

2021-10-14 10:59:56 8966

转载 python获取当前月、上一个月、下一个月、月份第一天、月份最后一天

获取当前月、上一个月、下一个月、月份第一天、月份最后一天import calendarfrom datetime import datetimefrom dateutil.relativedelta import relativedeltaclass DateTimeUtil(): def get_cur_month(self): # 获取当前月 return datetime.now().strftime("%Y-%m") def get_l

2021-09-16 09:44:34 16898 1

转载 使用pyinstaller打包django项目

1、pyinstallerpip install pyinstaller/2制作项目的.spec文件进入django项目所在路径,运行pyi-makespec -D manage.py在路径下,生成一个.spec文件3、以文本的方式打开.spec文件,spec文件格式如下。具体spec的使用,可以查看官网https://pyinstaller.readthedocs.io/en/stable/spec-files.html4、不修改.spec文件,直接运行以下语句pyinstalle

2021-09-13 09:30:06 1851 1

原创 django项目多进程中apscheduler定时任务重复执行问题

经过测试,比较有效的方法是:使用socket占用一个端口。这样虽然浪费了一个端口,但切实有效,且方便快捷。import socketscheduler = Nonetry:soc = socket.socket(socket.AF_INET, sockte.SOCK_STREAM)soc.bind((“127.0.0.1”, 45672))except:logger.warning(“定时任务已启动”)else:sch = BackgroundScheduler()sch.add_job

2021-09-02 17:01:31 1073 1

原创 Django-apscheduler间隔时间过长,mysql中止已建立连接问题

定时任务间隔超过8小时,超过八小时没有数据交互数据库会判断服务器中止连接。然后定时任务查询报错default(2006,软件中止了一个已建立的连接),后续数据查询会返回default,(0,")报错问题!(这个问题是在获取定时任务信息的时候出的问题,网上好多都是在说定时任务中的任务连接问题,任务都获取不到,更不用说执行任务了。)1、windows环境,django2.2.5+apscheduler+django-apscheduler,使用的pymysql库连接mysql.2、定时任务间隔大于8小时,数

2021-09-02 16:54:20 1176 2

原创 celery5.1.2 使用文档

https://docs.celeryproject.org/en/latest/userguide/configuration.html#std-setting-beat_scheduler

2021-08-19 15:16:17 923 2

原创 django中动态设置定时任务

暂时测试的一二方式:一、django+celery使用django-celery-beat 、django-celery-results这两个库可以看这个网址:https://www.jianshu.com/p/f22346379dbe二、APScheduler或Django-apscheduler可以看这个网址:https://blog.csdn.net/qq_39147299/article/details/109627838(因为我是win,所以使用的是这种方式)三、django-cr

2021-08-12 16:44:27 334

转载 Celery5.0最新配置选项小写参数名称对应celery4.0前的

Celery4.0版配置选择引入了新的小写字母设置。在Celery 6.0之前,Celery仍将能够读取旧的配置文件。下表是Celery5.0最新配置选项。Setting nameReplace withCELERY_ACCEPT_CONTENTaccept_contentCELERY_ENABLE_UTCenable_utcCELERY_IMPORTSimportsCELERY_INCLUDEincludeCELERY_TIMEZONEtimezon

2021-08-10 09:38:22 674

luckysheet预览及保存.zip

经历luckysheet一大波坑之后,汇总dome

2021-11-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除