Python
一些Python脚本
六个九十度
嵌入式软件工程师
展开
-
使用os.rename实现快速批量重命名
适用场景文件名格式不对,但目录层级没问题,不需要移动文件位置,只是重命名另外脚本耗时越短越好解决思路使用os.walk遍历每一个子目录遍历当前子目录的每一个文件检查当前文件是否需要重命名调用os.rename重命名示例代码import osBASE = "D:\\1" # 所有文件的根目录for root, dirs, files in os.walk(BASE): if len(files) > 0: for file in files:原创 2020-06-04 07:56:56 · 797 阅读 · 0 评论 -
Python3下用tkinter和PIL实现简单的看图工具
需求想做看图工具的,必然要支持jpg、png等常见格式,但tkinter是个纯粹的GUI库,不像GTK、QT那样大而全,所以只支持gif和ppm两种格式,局限很大,必须搭配图像处理库,才能实现基本的看图功能 在python生态系统里,最常用的图像处理库是PILPython3下库的安装这两个库在python3下跟python2有一定差异: tkinter首字母变成小写 PIL官方还不支持Pyth原创 2017-12-10 11:06:48 · 5362 阅读 · 1 评论 -
使用app dispatch技术将多个Flask应用组合成一个
app dispatch技术实现了app的隔离(独立的login manager、secret_key等),同时让每层业务系统都能模块化(只关心自己的URL部分),很有用。原创 2017-06-12 15:29:15 · 4454 阅读 · 1 评论 -
Apache2.4+mod_wsgi+Flask搭建web站点时的中文unicode问题
问题最近公司购买了阿里云,预装的ubuntu1404,上面自带Apache2.4,计划安装Flask,需要通过wsgi适配,于是看到了这篇文章,按照上面的方法搭建成功进一步丰富业务逻辑时,发现如果浏览器提交的表单数据包含中文字符,则Flask会报unicode错误UnicodeEncodeError: 'ascii' codec can't encode characters in原创 2016-09-09 09:45:25 · 2632 阅读 · 1 评论 -
使用DBUtils为MySQL实现连接池功能
MySQL默认一个连接超过8小时无操作就断开该连接,对于想要长期保持连接的应用场景而言,太不方便Python的MySQL绑定MySQLdb发现DBUtils是一个不错的Python连接池 工具,根据这篇文章的代码,运行条SQL insert语句,发现有unicode错误 'latin-1' codec can't encode characters in position 97-9原创 2016-06-23 12:35:30 · 2488 阅读 · 0 评论 -
使用python获取动态分配的ip地址并传给shell
Linux下的很多软件要从环境变量里获取配置信息,有些环境变量好设置(比如某个目录),有些难设置,比如获取本机动态ip地址我采用的方法是运行ifconfig eth0命令获取本机网卡eth0的配置信息将输出的内容保存到临时文件逐行读取该文件,读到第2行时,对改行进行字段抽取将抽取出的字符串打印到标准输出shell的双反斜杠能将python脚本的标准输出作为标准输入保存到环境原创 2016-05-25 17:26:17 · 2281 阅读 · 0 评论 -
让cherrypy监听系统内所有活动网卡传入的请求
cherrypy是一个python版的web server + application framework默认情况下,它只监听localhost(对应lo虚拟网卡)传入的请求如果你想让它监听系统内所有活动网卡传入的请求,则需要在quickstart之前加如下语句if __name__ == "__main__": #web server!!! cherrypy.conf原创 2015-11-18 14:53:00 · 855 阅读 · 0 评论 -
发现apache的mod_python存在一个BUG
字符串格式化BUG原创 2015-09-10 15:51:58 · 657 阅读 · 1 评论 -
利用python数组解析ifconfig命令输出
有时候我们需要对命令的格式化输出进行解析,解析通常依赖命令自身的格式化特征,不过这些特征都有共性:各种层面的循环列表结构比如ifconfig命令,首先循环列出所有网络接口,然后在网络接口内,在循环列出各个预定义字段所以对该命令解析时,首先要按list之list的结构对其输出内容进行组织,这里用python的(多维)数组是个不错的主意#encoding=utf-8imp原创 2015-08-28 10:15:52 · 2607 阅读 · 0 评论 -
TypeError: coercing to Unicode错误的一个解决办法
不要用+操作符,改用%操作符格式化输出,前者遇到类型不匹配就抛出异常,后者会转成字符串类型打印出来——便于查错原创 2015-06-29 17:06:17 · 45884 阅读 · 0 评论 -
百度语音识别API的使用样例(python实现)
百度给的样例程序,不论C还是Java版,都分为method1和method2两种前者称为隐式(post的是json串,音频数据编码到json里),后者称为显式(post的就是音频数据)一开始考虑到python wave包处理的都是“字符串”,担心跟C语言的数组不一致,所以选择低效但保险的method1,即先将音频数据base64编码,再加上采样率、通道数等信息汇集成dict,最原创 2015-05-18 14:20:41 · 31745 阅读 · 16 评论 -
Linux下最简单的FTP服务器搭建方法
使用TFTPy实现原创 2015-04-21 11:45:15 · 4774 阅读 · 0 评论 -
用struct模块实现python socket收发自定义TCP包
用struct模块实现python socket收发自定义TCP包原创 2015-03-29 17:29:08 · 15425 阅读 · 0 评论