https://mp.weixin.qq.com/s/J-H638ZzhB-GOXMeAQ9aww
Camelot: 三行代码提取PDF表格数据
https://mp.weixin.qq.com/s/c0hszsSDS-u4z-83Y7km8Q
pdf文档解析之pdfminer
https://mp.weixin.qq.com/s/1BoBHbXXOGPZ4HK437lH4Q
6款Python特殊文本格式处理库推荐
https://mp.weixin.qq.com/s/bz7rCy0YyF1HrrHrWt9Mpw
聊聊Python操作PDF的几种方法
https://mp.weixin.qq.com/s/jzjumS2oJfFO-4SBa0qooQ
利用Python将PDF文档转为MP3音频
https://mp.weixin.qq.com/s/FmdbdAWenXWuY9s7ykVORQ
三种方法,Python轻松提取PDF中全部图片
https://mp.weixin.qq.com/s/UVKOU11dfWwP9Uyw9E400Q
如何使用python提取pdf表格及文本,并保存到excel
安装:
pip install python-docx
文档:
https://python-docx.readthedocs.io/en/latest/
参考:
https://mp.weixin.qq.com/s/lEtE3ejBLzmm9_eo-_8NBg
处理大型Excel文件,用Python就对了!
https://mp.weixin.qq.com/s/GjG1Rc-HtLRkrNXY1pcp2Q
xlwings,让excel飞起来!
https://mp.weixin.qq.com/s/6M7aiXgcne9cbHffqpm_Lw
n种方式教你用python读写excel等数据文件
https://mp.weixin.qq.com/s/rBR4d_wyU8TKy1K9az4C-Q
从VBA到Python,Excel工作效率如何提高?
https://mp.weixin.qq.com/s/3nr8uHnRoSgs-Zu6QxGiqw
Python实现数据库一键导出为Excel表格!大大的增加了工作效率!
https://mp.weixin.qq.com/s/ZI7KDxH9z_UR2p3umBCNsA
一套代码批量编辑Word和Excel,告别工具人
https://mp.weixin.qq.com/s/4q6poyFBLgwZJPzJNX3y0g
Python操作Excel之一
https://mp.weixin.qq.com/s/NiDZfQCblcfw4XnPzBYIaQ
Python操作Excel之二
https://mp.weixin.qq.com/s/m5mrlx3V3bBblqHdBZKa6w
Python操作Word
https://mp.weixin.qq.com/s/KhtVET6AAhYWWefBnvis2Q
Word自动化排版画图
https://mp.weixin.qq.com/s/RLJAHQAheqrf8i-c8QtDtw
Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
https://mp.weixin.qq.com/s/ymPHlri3qMmTlvlWiBqsxg
用Python+Excel制作天气预报表
https://web.mit.edu/music21/
music21官网
https://mp.weixin.qq.com/s/ONZD5RGI18rLTYhzIQQbVA
用R包gm生成音乐
由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。
if __name__=='__main__':
a=1 #对象1被变量a引用,对象1的引用计数器为1
b=a #对象1被变量b引用,对象1的引用计数器加1
c=a #对象1被变量c引用,对象1的引用计数器加1
del a #删除变量a,解除a对1的引用
del b #删除变量b,解除b对1的引用
print(c) #最终变量c仍然引用1
参考:
https://blog.csdn.net/love1code/article/details/47276683
python中del的用法
示例:
https://github.com/antkillerfarm/antkillerfarm_crazy/blob/master/python/misc/hello_cmd.py
需要注意的是shell
这个选项是有讲究的。
shell=True
:
args = ["ls -al ."]
shell=False
:
args = ["ls","-al","."]
首先:
import pdb
然后在需要断点的地方:
pdb.set_trace()
然后直接运行脚本即可,其他命令和gdb十分相似。
pdb和gdb的差异主要在于:
1.pdb需要修改代码,而gdb不需要。
2.可以直接运行脚本进入pdb模式,而gdb需要先进入gdb环境,然后才可以运行程序。显然pdb的灵活性比较高。
参考:
https://blog.jamespan.me/2016/06/09/remote-debug-your-python-code
远程调试你的Python代码
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/index.html
Python代码调试技巧
https://mp.weixin.qq.com/s/4pxGrn9jgp8So8JsONC-3A
别再用print调试代码了(PySnooper)
https://mp.weixin.qq.com/s/JNGtOtRW3YsLti9gVYzLcg
清华校友打造Python调试神器(Cyberbrain)
https://mp.weixin.qq.com/s/weEZEr4g8pI11Gijc-St0Q
DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧
https://mp.weixin.qq.com/s/bNW1FbUG5LNUiRmmzirgCg
别再用Print调试Python了!(Icecream)
https://mp.weixin.qq.com/s/WqDWksBDBa07s84v6R1tlA
Python里三个最高逼格的调试神器
https://mp.weixin.qq.com/s/dlMqyVy92S_dFaBAuV1RhA
Python和C/C++拓展程序的性能优化
https://mp.weixin.qq.com/s/Q5P037abid03H4-ypWa7qg
用了三年的pdb,没想到还能这么调试
blade的底层用到了SCons。后者是一个python语言写的构建工具,可用于多种编程语言程序的构建。
官网:
http://www.scons.org/
安装:
sudo apt install scons
和make类似,可以用如下方式并行编译:
scons -j 4
clean:
scons -c
使用示例:
https://github.com/antkillerfarm/antkillerfarm_crazy/tree/master/cpp/scons
项目的工程文件为SConstruct。
从个人角度,我认为一个好的构建工具需要具备以下特点:
常见任务书写简单。换句话说就是预先内置好了大量规则。make在这一点上做的不太好,手工任务太多,以致出现了Autotools和CMake这样的辅助工具。
特殊任务扩展简单。make系列工具的DSL都不是完备的语言,这一点是比不了python的。
因此,我是比较看好SCons的。
上述特点在Java的构建工具上也得到了体现,ANT书写麻烦,所以被Maven取代,而Maven扩展不便,又被Gradle挑战。
参考:
https://www.ibm.com/developerworks/cn/linux/l-cn-scons/
使用SCons轻松建造程序
https://mp.weixin.qq.com/s/3QS_9U_X2bELwLzzVfaBOQ
SCons-Python给C++做的烤饼,香!
Tkinter简明教程
2014年度辛星Tkinter教程第二版
Python GUI Programming Cookbook
https://mp.weixin.qq.com/s/RdnAQPAn9E8qDvtnCEgcKw
Tkinter可视化窗口
https://www.zhihu.com/question/32703639
为什么很多Python开发者写GUI不用Tkinter,而要选择PyQt和wxPython或其他?
Dear PyGui是一个轻量级的GUI框架,可以利用GPU进行渲染。
代码:
https://github.com/hoffstadt/DearPyGui
参考:
https://mp.weixin.qq.com/s/t1DT7jyKj1moU1qnrn5GiQ
好看又好用的GUI,你需要这七个Python必备库
pygame是一个python的游戏引擎。
官网:
https://www.pygame.org/
类似的引擎还有:
https://kaboomjs.com/
kaboom.js(一个JS写的引擎)
https://solar2d.com/
Solar2D(一个Lus写的引擎)
参考:
https://github.com/marblexu/PythonPlantsVsZombies
Python《植物大战僵尸》代码实现
https://mp.weixin.qq.com/s/la9srinIeibkXZEDRvv5pA
手把手教你用Python实现“坦克大战”,附详细代码!
https://mp.weixin.qq.com/s/1xXULpT36P7LTO5HDbjptg
坦克大战小游戏
https://mp.weixin.qq.com/s/EEw4x1mk0y8xsL9mORd9sA
如何用Python实现超级玛丽的界面和状态机?
https://mp.weixin.qq.com/s/HRdc5O6hT-dzx4jmgmlSYw
如何用Python实现超级玛丽的人物行走和碰撞检测?
https://mp.weixin.qq.com/s/20F0ieUjJSZp7yI7ymeJ5Q
试试在终端模拟下雪的效果呗?
Captcha是一个Python验证码库,能够生成音频和图片验证码。
CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称. CAPTCHA的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算程序,这种程序必须能生成并评价人类能很容易通过但计算机却通不过的测试。
代码:
https://github.com/lepture/captcha
这个库可用于生成大量有标签的验证码,是DL入门的必备工具。
参考:
https://mp.weixin.qq.com/s/m4rNUFV4VGUBI7aWv5fgbw
中文项目:快速识别验证码,CNN也能为爬虫保驾护航
https://zhuanlan.zhihu.com/p/26078299
使用深度学习来破解captcha验证码
https://mp.weixin.qq.com/s/NsaMcgufLYO3i6eG1WO_VA
我不是机器人:谷歌最新版验证码系统ReCaptcha破解已开源
https://mp.weixin.qq.com/s/fun7k1fDrB3BYG2DK-Z7wA
如何证明你是“人”还是“机器”? 揭秘验证码技术
其他类似项目还包括:
语言 | 名称 | 网址 |
---|---|---|
Java | JCaptcha | http://jcaptcha.sourceforge.net/ |
Java | SimpleCaptcha | http://simplecaptcha.sourceforge.net/ |
Java | kcaptcha | http://captcha.ru/en/kcaptcha/ |
Java | patchca | https://github.com/pusuo/patchca |
Java | SkewPassImage | http://skewpassim.sourceforge.net/ |
Java | Internet Captcha | http://www.icaptcha.com/ |
Java | Cage | http://akiraly.github.io/cage/ |
Celery是一个专注于实时处理和任务调度的分布式任务队列,可用于执行定时任务。
参考:
https://zhuanlan.zhihu.com/p/22304455
使用Celery
https://mp.weixin.qq.com/s/jdYiqJ98PztD7Ueu_o3Z4Q
任务队列神器:Celery入门到进阶指南
tqdm是一个快速,可扩展的进度条。
代码:
https://github.com/tqdm/tqdm
示例:
from tqdm import tqdm
for i in tqdm(range(9)):
...
其实还有一个更简单的办法:
print("\r" + "xxx", end="")
:这样的话会先把console里面当前的行清除掉、再输出xxx。
参考:
https://mp.weixin.qq.com/s/1YZ7-i3X8Cb2LYEuWtd1KA
给Python代码加上酷炫进度条的几种姿势
https://mp.weixin.qq.com/s/OVb4g1KzIsxgMKjJk_hG6A
在Python中妥善使用进度条
https://mp.weixin.qq.com/s/_rCg_uFD07eZw4QLtD-fzA
Python竟然能做这样的进度条
https://mp.weixin.qq.com/s/nGOCderiyOXsHkMZwIgpoA
酷炫的Python进度条开源库:alive-progress
python有个叫做attr
的包,还有一个叫做attrs
的包,然而import attr
实际上用的是attrs
。
二进制码流 -> 十六进制字符串:
import binascii
hex_digits = binascii.b2a_hex(bin_stream)
利用动态语言的特点,在运行时替换指定函数的代码,达到实时更改函数行为的效果,这就叫做“打Moneky Patch”。
https://blog.csdn.net/yushuaigee/article/details/117031190
彻底弄懂Python中的Moneky Patch
您的打赏,是对我的鼓励