自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(326)
  • 资源 (2)
  • 收藏
  • 关注

原创 static_cast 和 dynamic_cast的区别

static_cast和dynamic_cast的区别

2024-02-28 11:44:31 484

原创 python zipfile和tarfile压缩归档时, 忽略修改时间和用户名等

zipfile和tarfile压缩时忽略最后修改时间, 用户名等信息

2023-06-07 11:45:03 298

原创 python tarfile.extractall 解压,路径过长导致解压失败,提示no such file

python接口, windows路径过长问题

2023-04-25 00:26:48 750 1

原创 文件版本管理技巧

文件版本管理技巧

2023-02-01 20:23:39 455

原创 python 通过固定的key进行aes加密

python aes通过自定义key加密

2022-12-02 11:14:57 359

原创 visual studio快捷键

visual studio快捷键设置

2022-08-31 18:03:56 549

原创 python字典dict排序

python 字典按值排序原理

2022-08-18 19:18:27 250

原创 urllib2 post

urllib2发送post请求

2022-08-18 18:59:07 303

原创 python flask样例

python flask stream demo

2022-08-08 15:19:50 357

原创 python progressbar

python原生进度条

2022-07-25 16:08:22 356

原创 main函数在import语句中的特殊行为

import module时会执行module函数级别代码, 但是如果该module中有main函数, 并不会执行.

2022-07-06 19:47:38 454

原创 python源码剖析, 第0部分 -- 编译python

编译

2022-07-04 18:02:15 487

原创 ‘\\xe6\\xad\\xa3\\xe5\\xb8\\xb8‘ 双反斜杠转中文问题 in python

python解析xml

2022-06-29 15:35:06 841

原创 python解析xml

python解析xml

2022-06-21 10:42:51 175

原创 python获取cmd输出

python获取命令行输出

2022-06-15 15:06:47 3209 2

原创 python中文编码相关问题

环境我这里使用的环境是python2.7正常使用,不用特殊处理如获取路径,去读取文件,可以直接使用,不进行特殊处理如果是中文路径的话, 不用关心,直接使用路径即可, 因为读取出来的就是gbk格式的,如下:print __file__print os.path.realpath(__file__)#这个目录下如果有文件,我们是可以直接使用这个路径进行读取的非要看一下中文的话但是你要是输出出来的话,肯定是乱码, 因为这里是gbk格式的,我们用的ide大概率是utf-8的,这个不用管,程序能知

2022-05-16 18:27:28 1749 1

原创 pyinstaller QT打包exe,application failed because not find or load the Qt platform plugin “windows“

一:环境python:我使用的是python2.7安装的pyinstaller是:pip install pyinstaller==3.2.1qt5安装的是:pip install python-qt5然后在脚本中使用了qt, 编译的时候, 使用命令pyinstaller -F -w test.py进行编译, 我本地跑没有问题, 但是放在一个win11的环境下就提示这个问题了:application failed because not find or load the Qt platfor

2022-05-11 19:58:07 658

原创 pyinstaller打包exe,设置发布者,版权,产品名称等版本信息

pyinstaller的安装和打exe相关,请看:python2打包exe 以及一些运行出错的问题然后我们基本上使用pyinstaller -F -w test.py就可以满足大部分的需求了,但是有的时候需要我们给exe添加版本信息, 比如代码中如果有socket相关的, 那么执行的时候电脑就会提示是否执行, 并显示exe发布者等相关信息,更具体的右键exe,在属性里也能查看到。那么问题来了, 我们怎么打包exe的时候写上这些信息呢?–version-file file这就需要这个参数了, 这里

2022-05-07 16:38:39 1632

原创 c++ HDC 写一个简单的不需要bmp图片的progressbar

原因最近有个需求, 由于程序启动的时候, 初始化比较慢, 所以要加一个进度条,这个进度条又不能使用gui之类的控件, 因为还没有初始化完毕, 只能使用HDC直接在内存上画一个了代码废话不多说,直接上代码, 思路全部在代码的注释中具体的函数意义不在讲解,大家可以自行网上搜索, 这里只介绍做出这个简单的黑白progress_bar的几个关键点//初始的步骤, 源设备, 目标设备, ps等,直接搜索c++ hdc, 可以看到很详细的讲解, 这里这些公用的初始化步骤不在讲解HDC hDC, hMemDc

2022-05-04 18:32:49 876

原创 python单例模式的几种写法

1. 利用__metaclass__这种写法的好处是,一处声明,到处引用,只要是想弄成单例的,直接设置就可以了,废话不说上代码# 注意,继承typeclass Singleton(type): def __call__(cls, *args, **kwargs): if not hasattr(cls, '_instance'): cls._instance = super(Singleton, cls).__call__(*args, **kwargs) return cls._i

2022-04-29 11:54:06 1129

原创 python __builtin__,一处设置, 全局引用

很久没写博客了, 今天看到一个很吊的东西,特地来记录一下痛点比如我们平时在写python程序时, 有的时候代码里会出现很多重要的全局变量. 很多地方都会引用, 很多地方都会引用这些全局变量, 每次都要重新import, 有没有什么办法不进行import, 然后全局都能引用呢?实现方法当然可以, 就要用到__builtin__这个modules了, 废话不多说, 直接上代码test_02.py# coding=utf-8class A(object): def a_print(self)

2022-04-20 16:10:12 757

原创 python 一个有趣的正则贪婪问题

先说问题问题的关键就是{n,m}这种写法是贪婪的, 就是会金量往m上靠举例比如我们想用正则匹配下面几个, 把年月日给挑出来2020-01-022020-1-22020.01.022020 01 022020 1 22020/01/0220200102有没有法线, 如果除了最后一个, 我们就可以用非常简单的方法来做:(\d+)[-. /](\d+)[-. /](\d+)是不是很简单, 但是最后给我们来了一个20200102, tnnd, 中间一个分隔符都没有, 然后我想这, 先把

2022-03-03 21:30:19 465

原创 this application has requested the runtime 在python qt的多线程中出错

最新写了一个pyqt5的脚本, 用到了多线程, 在关闭页面的时候, 总是会报错this application has requested the runtime, 网上找了很久没发现问题所在, 最后一点一点试出来错误在哪, 特此记录.关键在于我使用了多线程, 子线程关闭基本由两种方式设置setDaemon(True为守护线程, 那么主线程关闭则子线程自然关闭子线程主动sys.exit(0) 退出线程(和在run中结束一样的效果)我是因为想要让ui更加顺滑一点, 所以在子线程中跑了pyqt,并且

2022-02-21 16:10:48 1134

原创 python 将一个方法, 按照设定的时间间隔执行:

将一个方法, 按照设定的时间间隔执行:主要思路就是分段:分段通过将目标函数, 这里是logic(), 用yield分段, 然后coroutine.next()分段执行时间间隔:时间间隔, 则是通过一个loop函数, 不断从回调函数堆里获取注册的回调. 判断时间间隔, 并执行, 同时主逻辑中, yield之前, 都要注册一个根本上是coroutine.next()的回调import heapqimport timeclass P(object): def __init__(self):

2022-02-18 15:16:35 1994

原创 rsync windows server 以及client 配置

rsync:可以镜像保存整个目录树和文件系统,同时保持原来文件的权限、时间、软硬链接。第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分。传输数据过程中可以实行压缩及解压缩操作,减少带宽流量。支持scp、ssh及直接socket方式连接,支持匿名传输。支持Linux,Window平台。优点:1、可以镜像保存整个目录树和文件系统;2、可以很容易做到保持原来文件的权限、时间、软硬链接等;3、无须特殊权限即可安装;4、优化的流程,使用同步算法,只比较变化的,文件传输效率高;5、可以

2022-02-16 14:14:24 1170

原创 python 热更

热更需要的步骤:上传代码拉取代码并执行在上传和下载过程中, 我们不想传递明文, 也不想传送太多的数据所以只需要:压缩解压import zlibimport base64x = 'print "hello world"'# 压缩, 加密, 上传t_code = base64.b64encode(zlib.compress(x))print t_code# 解密, 解压, 并执行s_code = zlib.decompress(base64.b64decode(t_co

2022-02-10 15:14:49 354

原创 StringIO 的使用, 存在的意义

StringIO存在的意义比如想写一个脚本, 从网站下载一个压缩文件, 并解压到本地. 下意识可能分为三部下载文件写入到本地用zipfile读取这个文件并解压代码如下:# 1. 下载import urllib2res = urllib.openurl(url)zip_data = res.read()# 2. 写入本地with open(file_name_zip, 'wb') as f: f.write(zip_data)# 3. 解压target_dir = r'C:

2022-02-09 14:49:15 1771

原创 python 子线程 和 子进程 正常结束与强制结束

目录子线程结束----给子线程设置标志位----设置子线程为守护线程----强制终止子进程强制结束----设置标志位----强制结束子线程结束想要的目的是, 主线程能够让子线程结束1. 给子线程设置标志位, 使用threading.Event() 或者其他任何形式的标志, True | False都一样的, 这里使用这个, 主要是没见过, 花里胡哨的用一下import threadingimport timeclass StoppableThread(threading.Th

2022-02-08 15:17:28 4132

原创 python控制exe, 并进行输入输出

我们想用控制标准输入和输出的方式, 来进行两个进程之间的通信, 思路是用主进程启动子进程, 然后重定向子进程的标准输入和输出, 例如如下:主程序:import subprocessret = subprocess.Popen( r"D:\target.exe", stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE,)ret.stdin.write("tony1\n")ret.stdin.flush

2022-01-21 17:23:43 5379 2

原创 在python中如何让一个函数分段执行呢?

在python中如何让一个函数分段执行呢??原因:最新在写分针的逻辑, 最开始讲一大段代码分成好几个小的函数, 讲函数放进数组中, 每一帧执行一个, 但总是觉得这样写不够优美, 今天看到其他大神的代码,记录一下思路前提要理解generator:python简单进阶,Generator适用情况:函数太大, 一帧执行不完不想改变函数, 想在函数执行到某个地方的时候, 去做一些其他的事情总之就是想对函数的执行流程进行一些更改测试import sysdef process(str):

2022-01-19 20:50:33 1631

原创 print >> sys.stderr in python 2

具体含义在python2中>> sys.stderr的格式 是让print语句的输出 从stdout改为stderr.为什么我们总是遇到 print >> sys.stderr 而不是print >> sys.stdout的写法呢?原因是因为, sys.stderr的输出是红色的, 这样更加明显, 想要输出比较重要的日志时, 可以会这样写可参考 python文档函数解释print 也是有一个扩展格式的, 由语法的第二部分来决定, 就是后面添加的’>&g

2022-01-19 20:36:22 1154

原创 sys.excepthook

之前有一篇文章来讲异常作为层序高层与底层交互的结构:使用异常作为结构的一个例子但是我们在python中进行实践的时候, 代码总是不够优美, 我想大多数人和我一样, 准备这样写try: method_one() method_two() method_xxx()except Exception as e: process()实际上python给我们准备了足够优美的方法:sys.excepthookdef my_exception_hook((type, value, trace_back

2022-01-19 20:22:27 1287

原创 python反射总结, 写socket时很好用,短小精悍

在python 2.7中测试通过写socket的时候, 经常要使用到反射, 这里总结一下使用方式类型1. 执行全局的方法, 可以直接在globals()中找到类型2. 执行实例的方法,2.1 实例已经存在: 可以通过getattr(instacne, name)来拿到对应的属性(方法)来执行2.2 实例不存在: 可以在globals()中通过类名 找到该对象并初始化, 然后上面的规则类型1# 类型1, 全局方法def print_hello(_h, _w): print _h, pr

2022-01-19 20:11:30 76

原创 python defaultdict详解

经典结构:首先判断这个key是否在字典种如果不在, 那么给这个字典添加上这个key, 初始化if key not in my_dict: my_dict[key] = some_type # [] | {} | number | strmy_dict[key].process()上面那种不是很美观, 引入defaultdictdefaultdict( lambda: x ) 它接收一个func, 没有参数 ,返回的就是key不存在时的默认值, 概念有点像dict.get(key, d

2022-01-10 21:24:56 516

原创 python线程池 手动实现

前几天刷视频看到真传一句话, 假传万卷书, 我深以为是, 因为自己平时学习的时候也是这种感觉, 各种教程唧唧歪歪, 罗里吧嗦的一大堆, 就是不告诉你核心的内容, 这个时候就造成不会的看了一遍头昏眼花, 会的看了一遍浪费了大把时间.之后我写博客, 都会贯彻这一个思想, 用最简单的例子把东西讲出来, 以这次线程池为例.任务类, 它用来包装我们需要执行的方法, 以及方法的参数, 如下class WorkMission(object): def __init__(self, _func, _args)

2021-12-30 17:43:06 441

原创 windows nginx目录映射

1 下载nginx的最新windows版本, 并解压:nginx官网2. 加压之后在conf文件夹里面找到nginx.conf配置文件并打开3. 找到如下配置并更改:1. listen 9876; # 这个是监听端口2. 注释掉location里的如下两个配置: root html; index index.html index.htm;3. autoindex on; # 开启自动索引, 这样才会索引文件夹下的

2021-12-29 17:11:27 4520

原创 c++ 编译python 扩展包pyd

C/C++与python互相调用这个很全如何实现 C/C++ 与 Python 的通信?这个很详细遇到的几个问题vs的开发者命令提示在哪? 工具->命令行-> 开发者命令提示 | PowerShell执行vs开发者命令提示 的编译命令, 报错, 库计算机类型“x64”与目标计算机类型“x86”冲突这个原因我也没找到, 但是换一个python就解决了编译成pyd之后执行报错:importerror: dynamic module does not define init fun

2021-12-15 20:43:25 5162 1

原创 python ascii 与 字符相互转化

我们聚个例子ascii字符48065A通过方法:ord: 输入字符, 输出对应的acsiichr: 输入ascii, 输出对应的字符print chr(48), chr(48) == '0'print chr(65), chr(65) == 'A'printprint ord('0'), ord('0') == 48print ord('A'), ord('A') == 65输出如下有什么用呢?我们用python以二进制方式读取文件的时候, 都进

2021-12-15 13:38:32 2006

原创 python zip file使用

Working with zip files in PythonGeek上的示例, 前两个就够了

2021-12-13 15:36:08 621

原创 sys.meta_path

sys.meta_path写的很好

2021-12-08 17:59:30 507

rsync 4.0.5 windows server

rsync 4.0.5 windows server

2022-02-16

python手写游戏时间的 定时器 和 定时任务, 两种方式实现

用python手动实现的基于游戏时间(自定义时间的)定时器, 可以添加带参数的定时任务, 同时添加的任务可以带上参数, 一共有两种计算方式

2020-10-29

空空如也

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

TA关注的人

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