Python
文章平均质量分 54
Python应用开发
wxgnolux
系统架构设计师,IT管理,IT技术热爱者;
SAP实施与开发, 物联网项目开发 ,企业软件开发和运维,实用小工具开发;
常用 python,abap,oracle,.net,java开发工具
展开
-
OrangePi Kunpeng Pro 开发板测评及Python开发实测
Orange Pi Kunpeng Pro 开发板是香橙派联合华为精心打造的高性能开发板,其 搭载了鲲鹏处理器,可提供 8TOPS INT8 计算能力,提供了 8GB 和 16GB 两种内存 版本。Kunpeng Pro 开发板结合了鲲鹏全栈根技术,全面使能高校计算机系统教学 和原生开发。同时支持 FPGA+ARM,从体系结构、数字逻辑设计、操作系统和编 译,再到嵌入式开发,可以基于同一套体系结构和一套开发板实现贯穿打通。顶层视图:底层视图:Orange Kunpeng Pro 开发板硬件规格处理器。原创 2024-05-27 18:59:31 · 1204 阅读 · 0 评论 -
wxPython 矩形选择框 测试
如下图,这种矩形选择框在图形软件里是必备操作,用python怎么实现?我用wxpython 做了一个例子。原创 2023-06-20 22:02:04 · 203 阅读 · 0 评论 -
wxpython 画蚂蚁线(类photoshop选取框线)
wxPython 没有找到类似 H5里的 line dashes offset 的参数。但是 wx.Pen ,有个UserDashes线类型配合 setdashes 方法也能实现。如:[10,5,20,5] 10个点的线长,空白5个点,再20个点线长,5个点空白,有一次 10个点线长...循环。SetDashes :接收 数值列表(奇数位数字是线段长度,偶数位是空白长度。通过修改其中的一段线长加定时器重绘,就实现了蚂蚁线了。原创 2023-06-06 23:22:26 · 128 阅读 · 0 评论 -
wxPython 实现可以拖动位置改变尺寸的Panel
wxPython 组件练习,实现一个可以拖动位置和大小的Panel组件。原创 2023-05-30 22:15:03 · 341 阅读 · 0 评论 -
Python List 去重的几种方式
3.利用 dict去重(会保持原来顺序)1.利用列表推导(会保持原来顺序)2.利用set去重(会重新排序)原创 2023-05-14 22:52:50 · 3053 阅读 · 0 评论 -
Python 添加记录到有自增长ID的表,如何获取新产生的ID
这是cx_oracle 取ID方式,insert 执行后,cursor取回的lastrowid不是 ID列的值,而是oracle内置的 rowid 的值,然后通过rowid 再 select 取回ID列值。关系型数据库设计时,将ID列设为自动增长列是很普遍的方式,那么在python用 insert 插入数据后如何获取由数据库产生的ID,从而获取新加的记录呢?一般的方法是在表里加一个guid列,这列的值在前台就产生,前台 insert 插入后,可以按这个guid重新select到记录。原创 2022-11-22 10:56:26 · 1196 阅读 · 0 评论 -
python 操作Oracle 自关联表进行树结构复制算法
最近一个项目中,用关系型表来存储树型结构,其中有一段树节点复制的算法,典型的递归运用,可作为递归算法参考练习。原创 2022-11-21 22:41:47 · 408 阅读 · 0 评论 -
wxpython ToolBar ITEM_DROPDOWN 下拉按钮的使用
wxpython toolbar DropDown Item ,下面是显示一个工具栏的例子,里面用到了下拉工具按钮,可以下拉子菜单。 ,macos 下不支持下拉工具按钮。windows能正常支持。macos下可以使用 aui toolbar来替换实现原创 2022-11-21 22:30:47 · 454 阅读 · 0 评论 -
wxpython Frame 键盘事件传递机制
接着上篇的问题 Frame 的keydown事件无法捕获了,怎么办?经过测试这个和wxPython的事件传递机制有关系(搞过html前端js的就能明白,类似js中事件冒泡规则),需要在组件上绑定相应事件,并在处理函数内指定传递level大于0,才能正常将事件传给Frame。如下代码:给Panel绑定keydown事件。结果:Panel的keydown事件正常捕获,同时Frame的keydown事件也正常能捕获了。这个在windows和MacOs规则都是一致的。原创 2022-11-21 21:18:06 · 470 阅读 · 0 评论 -
wxpython 的 Frame 在windows和macOs操作系统下键盘事件差别
我自己的开发机是macOs , 目标机器很多时候都是windows,在使用wxpython做项目时经常会有macOs下正常但发布到windows不能正常运行的情况,虽然wxpython做到了大部分的兼容,但其实还是有很多细节上是不兼容的,这就需要我们在代码级别对不同系统做不同编码来处理。结论:如果要做全窗口的键盘事件捕获,那就需要用 charhook事件, windows和macos都支持,但macos 需要先添加一个panel才行。代码1: Frame 绑定 keydown 和 charhook事件。原创 2022-11-21 20:26:39 · 410 阅读 · 0 评论 -
wx.dataview.DataViewItemObjectMapper 的 ObjectToItem 和ObjectToItem 的方法 里隐藏着Python int对象管理的坑
刚开始在我的ID值还比较小的时候,一直都很正常,但是后面随着ID值越来越大,就出现异常了,百思不得其姐,经过调试后发现问题就在这:同样是 item1 = OjbectToItem(500) ,item2=ObjectToItem(500) 同一个ID ,在转为Item后居然是不相等的,导致对DataViewMode里的值枚举查找是不成功的。这就说明,python在内部定义了,256以前的数值是预先定义好了的对像,取值时是直接引用已定义对像的地址,之后就开始新建对象了,所以地址就不固定了。原创 2022-10-21 14:29:09 · 300 阅读 · 0 评论 -
wxPython DataViewCtrl+PyDataViewModel 实现TreeListView
本质问题就是,再次取相同的数据行转换为Item后,对应不到原来的Item,就是因为List是个指针对象,每次都是新的实例,转换成Item后也会是新的实例。搞明白这个原因后,直接用数据行的ID,纯整型转Item, 这样从Item转回object 也是整形,来回转换都能对应上。下面把主要代码记录一下,起到分享和备忘的作用。开始觉得应该很简单,套着用就行了。后面找到下面这个例子,感觉是我要的东西,数据和显示分离,符合mvc的架构,后续扩展起来也应该会方便些。,对大数据量下的,操作不够友好,关键是感觉不好看。原创 2022-10-05 00:02:18 · 989 阅读 · 0 评论 -
算法练习1
求n个整数里,连续m个整数乘积最大的一组。如:[1,2,4,5,3,4]m为2时, 1,2 2,4。下面是我用,列表推导、reduce 、列表排序,实现的算法。4,5 5,3 都是连续的两个数,其中 4,5的乘积是最大的。原创 2022-09-05 21:06:53 · 93 阅读 · 0 评论 -
python 读写西门子PLC例子
client.py 存取 西门子PLC数据的客户端例子。Server.py 模拟西门子plc 的例子。原创 2022-09-04 21:47:43 · 3225 阅读 · 0 评论 -
尝试了一下csdn编程挑战赛
3、题目名称:莫名其妙的键盘 有一个神奇的键盘,你可以用它输入a到z的字符,然而每当你输入一个元音字母(a,e,i,o,u其中之一)的时候,已输入的字 符串会发生一次反转!比方说,当前输入了tw,此时再输入一个o,此时屏幕上的字符串two会反转成owt。小艺接到一个任务,任务的总任务量是n。第一天小艺能完成x份 任务。不太习惯比赛用的编辑器,没法做过程调试,这个很考基本功。二是语法要非常熟,像我这种经常要查语法帮助的人,哈哈哈。2、题目名称:通货膨胀-x国货币 X国发行货币最高面额为n。原创 2022-09-04 17:36:08 · 246 阅读 · 0 评论 -
python http.server 的测试和常见问题解决方法
先分别写一个简单httpserver 和一个html文件。html文件只是引入了 jquery, 后面测试用python 是开启了最简单的一个 http服务python 脚本运行,会开启 127.0.0.1:8000 的http服务。浏览器访问 http://127.0.0.1:8000 ,可以正常访问,返回结果也正确。好了,在这个基础上我们来研究和测试几个问题。.........原创 2022-08-27 19:18:00 · 3191 阅读 · 0 评论 -
python subprocess.cal调用wkhtmltohtml中遇到的问题
最近项目中 使用了 wkhtmltohtml 工具, 这个工具转换pdf功能非常方便。但是在python作为命令来调用时有些要注意的地方,另外还有一些和字体相关的问题要注意。原创 2022-08-22 16:05:08 · 340 阅读 · 0 评论 -
python requests 上传文件
为了测试企业微信上传临时素材接口,我写了一段python脚本,使用的是requests 库,按照官方接口说明:要构造相应表单的栏位,才能指定上传后文件的显示名称,于是我测试脚本如下:然而并没什么用,上传后还是会以原始文件命来命名。为什么不行?研究一下。......原创 2022-08-05 23:30:00 · 2020 阅读 · 0 评论 -
wxPython Image PIL Image 之间的转换方法
从 PIL Image 原来有个方法 fromstring 可以将 wxImage 转化过来,但最新版本这个方法被取消了,需要用 frombytes 替代。但是 wxImage 的 GetData() 方法默认返回的是PyObject对象,不是 bytes ,没法直接用。wxPython 的 wx.Image 和 PIL 的Image 一个是主流gui库,一个是主流图像处理库(很多图像相关的库都会用它为基础库),做 python gui 程序这两个库中的图像对像互相转换是必定会碰到的,两者会经常混合着用。.原创 2022-07-20 22:34:00 · 551 阅读 · 0 评论 -
python - TXT章节文转为epub和mobi格式
epub格式其实是个zip文件,将epub文件,通过改名epub为zip,可以解压出来,会类似下面的文件目录结构。 反过来参考这个结构就能构造出epub文件了。 通过这个方式,我写了一个txt章节文(小说)转epub进一步转mobi的程序。 原来在 windows下面用easypub这个小工具很不错的,后面转mac后一直没有找到一个简单的工具,于是自己动手做一个。kindle不会吃灰了。下面是核心代码,可参考用。#!/usr/bin/env python# -*- coding...原创 2022-05-25 22:04:20 · 3460 阅读 · 8 评论 -
python 实现radius认证服务-作为vmware 的双因子认证服务器-实现Horizon外网接入准入控制
python 实现radius认证服务-作为vmware 的双因子认证服务器-实现Horizon外网接入准入控制。此开发是为了辅助 vmware connection server作双因子认证,从而实现对安全服务器接入的链接服务器加多一层认证,实现外网连入云桌面的准入控制。准入规则的修改是简单的表操作,可以结合其它系统来管理(我这边案例是用了泛微的OA流程审批,从而实现准入经过流程审批后生效)...原创 2022-05-25 21:50:01 · 1445 阅读 · 0 评论 -
wxpython 安装问题记录(系统macOs 11.52 M1)
将下载下来的源文件,解压出来,进入解压后目录,然后尝试编译 python setup.py build ,结果和上面用pip编译时出错一致。正常情况只需要 pip install wxpython 就能安装的,但是 M1 芯片,macOs 11.52 下面编译不通过,报错。如果没有提示路径的话,那就是以前已经下载过,在pip的缓存里,所以不用下载,就不提示。python setup.py build ,编译成功。有几个网友找我要文件,干脆我把打包的 .whl 的文件上传了,下面链接可直接下载。...原创 2022-03-13 22:26:52 · 3155 阅读 · 19 评论 -
入了 macbookpro M1 的坑,果然是很多的坑,碰到就记录
昨晚收到了macbookpro. M1芯片版,知道M1会是个坑,考虑到近苹果的号召力,后续适配应该是没问题的,短期内还能用老air顶一下,电子产品还是买新不买旧,所以还是选了 M1版。果然有坑,把原来开发的程序,今天拿出来打包测试,开始也没太注意,没什么错误提示,但是运行打包文件时就出错。 sys.prefix = '' sys.exec_prefix = '' sys.path = [ '/var/folders/3f/rpfnhxzj3s14n0kjy352krpm0000g.原创 2021-07-25 22:39:52 · 7812 阅读 · 0 评论 -
git 的使用备忘
源代码的版本管理,我一直都停留在svn,subversion阶段,偶尔也用到过git,但一直没有真正研究过。最近因为一些项目刚好用到,也花点时间研究了一下,发现真心蛮好用的特别是在mac终端模式下,用起来很顺手。配合gtihub和gitee远程代码的分享非常方便。1. Git工具的安装https://git-scm.com/windows下用git-bash也非常方便,参考: https://gnolux.blog.csdn.net/article/details/107039...原创 2020-12-08 09:28:36 · 144 阅读 · 0 评论 -
python AI 学习神器
发现一个 python ai 学习神器, 在安卓手机上安装,直接运行一个linux系统,并打包安装好 ai相关的库.http://aidlearning.net/GREAT APPMAKES GREATIDEAS!AidLearning is a Linux system with GUI running on Android without root. AidLearn...原创 2019-06-16 03:35:44 · 848 阅读 · 1 评论 -
python 爬虫 试了五种爬喜马的方法并做了测试代码(爬虫系列研究告一段落了...)
先介绍一下我想到和测试了的五种方法:方法1,使用下面接口: 通过web_api 'http://m.ximalaya.com/m-revision/page/album/queryAlbumPage/%s?pageSize=1000'%albumid 获取tracklist,不包函最终声音文件的url,要用 _update_track_media_url 来更...原创 2019-06-06 00:56:40 · 1525 阅读 · 0 评论 -
tkinter模块常用参数(python3)
转自:https://www.cnblogs.com/aland-1415/p/6849193.html1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk())root.title('标题名') 修改框体的名字,也可在创建时使用className参数来命名;root.resizable(0,0) 框体大小可调性,分别表示x,y...转载 2019-05-29 16:40:58 · 262 阅读 · 0 评论 -
Ext 例子不能从服务器读到json数据的问题
错误:最近在研究 django+extjs 的使用,我按照 ext 的例子,用js建了grid ,并取 django 服务器中的数据,但总是出现下面错误,取不到数据.XMLHttpRequest cannot load http://127.0.0.1:8000/test/?_dc=1285778542180. Origin null is not allowed by Access-Control-Allow-Origin.原因:根据错误提原创 2010-09-30 15:40:00 · 4406 阅读 · 0 评论 -
Extjs ScriptTagProxy 的使用注意点
ScriptTagProxy 当向服务器请求时,会自动带一个callback参数,如下:http://xxxxxx/get_json?_dc=1285827704378&callback=stcCallback100 同时要求服务器回写 json数据时前面要包含这个 callback 参数的值,结构如下:stcCallback100({"totalCount": "1234", "topics": [{"forumid": "7", "author": "author", "lastpost": "1285原创 2010-09-30 14:30:00 · 2235 阅读 · 0 评论 -
树莓派4B Python开发环境搭建
树莓派Python开发环境搭建一.OS安装和设置二.Python设置删除默认的python2.7版本#删除版本sudo apt-get autoremove python2.7#将常用版本,链接为pythonsudo ln -s /usr/bin/python3.7 /usr/bin/python#同时将pip也改过来sudo ln -s /usr/bin/pip3/ /usr/bin/pip更新pip源#临时改为清华源,并更新pippip install.原创 2021-02-12 20:21:49 · 2169 阅读 · 0 评论 -
pyinstaller 打包的exe在某些win7上面报错 faild to execute script pyi_rth_multiprocessing
pyinstaller 打包的exe在某些win7上面报错 faild to execute script pyi_rth_multiprocessing , 原因是python3.7以上对系统有要求,必须须要打补丁 [Windows6.1-KB2533623]才能正常运行(其实安装python时就不能通过的)。 因为 pyinstaller本质上就是把python打包在最终exe里的。 没打补丁的系统python3.7(含)以上就都不能正常运行,所以就会报错了。 只要打上此补丁就可对了。 或...原创 2020-12-29 23:09:39 · 7129 阅读 · 6 评论 -
wxPython 两种事件绑定方式的区别 self.Bind and self.button.Bind
这里写自定义目录标题问题描述和解决方法参考问题描述和解决方法wxpython 有两种事件绑定方式:#1.通过Frame的Bind 绑定组件的事件self.Bind(wx.EVT_BUTTON,self.OnClick,self.btn1)#2.组件自身绑定事件self.btn1.Bind(wx.EVT_BUTTON,self.OnClick)看起来这两种方法都要行,事实上大部分情况下,确实是差不多的,但还是有一些区别的。我在对一个TextCtrl绑 EVT_SET_FOCUS时碰到问题了,原创 2020-12-21 10:32:28 · 1860 阅读 · 0 评论 -
wxPython程序中使用日期转换函数datetime.datetime.strptime报错 unknown locale: zh-CN
今天碰到一个很奇怪的问题,程序在mac下运行很正常,在win下就报错。找到出错的语句,就是datetime.datetime.strptime 对 ‘Sun, 20 Dec 2020 09:26:45 GMT’ 时间的转换时出错。datetime.datetime.strptime('Sun, 20 Dec 2020 09:44:13 GMT','%a, %d %b %Y %H:%M:%S GMT')unknown locale: zh-CN但是我单独开个python 调试 试这个函数又不出原创 2020-12-20 18:56:44 · 983 阅读 · 0 评论 -
pip 换源方法
目录国内的几个Python镜像下载地址:使用pip通过镜像安装第三方库的方法:1.临时方法,在命令中加入 -i2.修改配置文件国内的几个Python镜像下载地址:https://pypi.tuna.tsinghua.edu.cn/simplehttp://mirrors.aliyun.com/pypi/simple/http://pypi.douban.com/simple/https://mirrors.ustc.edu.cn/pypi/web/simple/...原创 2020-12-17 23:06:49 · 852 阅读 · 0 评论 -
Python 和 Javascript 分别调用 paho.mqtt.client 的方法
一.mqtt服务器的安装,有很多开源和免费的服务器,网上找找,重点是要支持websocket 。如:Apache ActiveMQ,mosquitto, EMQ等等。二.代码试例python发布和订阅 mqtt消息,注意下面是用websocket方式,mqtt server需要开启websocket服务。#!/usr/bin/env python# -*- coding: utf-8 -*-# Project: mqtt# File : mqttClientT...原创 2020-11-21 20:53:13 · 961 阅读 · 0 评论 -
vim vundle 插件错误 “ \ 后面应该跟有 /、? 或 &”
$ vim处理 /usr/share/vim/bundle/Vundle.vim/autoload/vundle.vim 时发生错误:第 9 行:E10: \ 后面应该跟有 /、? 或 &第 12 行:E10: \ 后面应该跟有 /、? 或 &第 15 行:E10: \ 后面应该跟有 /、? 或 &第 18 行:E10: \ 后面应该跟有 /、? 或 &第 21 行:E10: \ 后面应该跟有 /、? 或 &第 24 ...原创 2020-07-01 09:48:44 · 680 阅读 · 2 评论 -
VIM python 不能加载问题 E370: 无法加载库 msys-python3.8.dll
环境:win7+ git-bash + vim +pythongit-bash里用vim,好处是这终端相比windows的 CMD 强很多,很多常用命令也默认就有,是类unix的操作习惯。颜色支持也可以,从Mac复制过来的的vim color schem, 直接就能用,基本没多少色差。 常用插件也都没毛病。 唯一发现一硬伤,居然python不能正常加载。 如下图,会报错:E370: 无法加载库 msys-ython3.8.dll我能猜到应该是 git 在编译vim时,用的是msy...原创 2020-06-30 13:34:01 · 3950 阅读 · 4 评论 -
在线vim配色加term与gui统一颜色调整python脚本
有一个在线的生成vim配色方案的网站,非常好用。http://bytefluent.com/vivify/不足就是它生成的配色在 terminal下面还可以,但是在GUI下面就没法看了,两者颜色并不统一。我需要在gui和term下颜色一致,这样我mac下我用terminal, win下我用gvim就能保持一致的使用效果了。为了实现这个就要改颜色值一致。下载的配色方案文件格式如下:我要实现 termbg = guibg , termfg = guifg ,那么首先就要知道...原创 2020-06-16 22:13:30 · 1063 阅读 · 0 评论 -
macos 10.15.3 安装vim+python3 +ycm自动补全+第三方库补全
macos 10.15.3Catalina默认安装是 vim8.1 / python2.7.16/python3.7.3 .vim8.1没有带python3支持,需要更新到最新版8.2就支持了。用brew安装vim (没有装brew工具的参考:mac下镜像飞速安装Homebrew教程)brew install vim brew是把vim装在/usr/local/Cellar 。并做了链接到 /usr/local/opt .同时还安装了gdbm gettext......原创 2020-05-27 02:30:22 · 4724 阅读 · 2 评论 -
pyinstaller 打包 pillow模块 出错问题
错误如下: self._load_hook_module() File "/Users/xulong/.pyenv/versions/3.8.0/envs/GXTimer/lib/python3.8/site-packages/PyInstaller/depend/imphook.py", line 383, in _load_hook_module self._hook_...原创 2020-04-19 01:57:32 · 1500 阅读 · 0 评论