Antkillerfarm Hacking V7.0

Python(五)

2020-12-24

Python

word & 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生成音乐

del

由于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的用法

python执行shell脚本

示例:

https://github.com/antkillerfarm/antkillerfarm_crazy/blob/master/python/misc/hello_cmd.py

需要注意的是shell这个选项是有讲究的。

shell=True:

args = ["ls -al ."]

shell=False:

args = ["ls","-al","."]

python调试

首先:

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,没想到还能这么调试

SCons

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

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

Dear PyGui是一个轻量级的GUI框架,可以利用GPU进行渲染。

代码:

https://github.com/hoffstadt/DearPyGui

参考:

https://mp.weixin.qq.com/s/t1DT7jyKj1moU1qnrn5GiQ

好看又好用的GUI,你需要这七个Python必备库

pygame


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

试试在终端模拟下雪的效果呗?

细节

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

参考

https://mp.weixin.qq.com/s/PC0bGKzIC_GXLOcVqDAZmA

Python学习思维导图

https://mp.weixin.qq.com/s/Hy1ZPFSRfVIMYEYFCOcKPQ

1000+常用Python库一览

https://mp.weixin.qq.com/s/_OmRvwFmvuuOpBf7DQG8IA

Python30个编程技巧

https://mp.weixin.qq.com/s/jG9RYSn5Gia7E9GyYx1IqQ

30段极简Python代码

https://mp.weixin.qq.com/s/Y3ZV3phzkPGxHIvoT8Ez7Q

53个Python经典面试题详解

https://github.com/leisurelicht/wtfpython-cn

《What the f*ck Python!》中文版

https://mp.weixin.qq.com/s/FbMvWgVf1rYtWH4cwYarIg

140种Python标准库、第三方库和外部工具都有了

https://mp.weixin.qq.com/s/O5okcuVKuf339BZzhmxiew

13个Python GUI库

https://mp.weixin.qq.com/s/hIMwss4h5k10oLanCYYS1g

49个Python学习资源

https://mp.weixin.qq.com/s/2tS7g4QxZ0r3wEt2nsSvLg

这个库堪称Python编程的瑞士军刀!(funcy)

https://mp.weixin.qq.com/s/cgSVy0zGPcKREo62tbiYnA

7个学习Python编程的最佳开源库

https://mp.weixin.qq.com/s/06-iOG5TkRkHb4RZl1bXNQ

史上最全Python迭代器与生成器

https://mp.weixin.qq.com/s/lv_sjvXx8vWf6TsVoYoxFw

Python处理文件系统的10种方法

https://mp.weixin.qq.com/s/KCiR6ZE1EpYVfySaCG097A

上半年最常见的Python面试题

https://mp.weixin.qq.com/s/0dw2LHsIKFv8B_JaIMoekg

python字符编码处理总结

https://mp.weixin.qq.com/s/fTs_r7DLbLWoos4uRM3KYA

10个Python常见面试题,这些弄不明白不要说学过Python!

https://mp.weixin.qq.com/s/kt5isheTBnpwKUhJAuXnYw

视频剪辑什么鬼?Python带你高效创作短视频

https://mp.weixin.qq.com/s/5YWAgp8LKi5q_NDrNUtyGQ

在GitHub上收获6519颗Star的Python面试题资料

https://mp.weixin.qq.com/s/toh59s2-UlqiZfkE5ThxZw

谈一谈python中的魔法变量*args和**kwargs

https://mp.weixin.qq.com/s/s7PFVE_wcAMZaRUds2MJDQ

Python中的*args和**kwargs是什么?该如何使用?

https://mp.weixin.qq.com/s/8y7IIQWxXx3bCD8cK8Z3XQ

这17个骚操作你都Ok吗

https://mp.weixin.qq.com/s/rE5OEFwwFxJNb_Omwmqvzw

符合语言习惯的Python优雅编程技巧

https://blog.csdn.net/longerzone/article/details/17889969

Python下调用Linux的Shell命令

https://mp.weixin.qq.com/s/zLTEzMczlrHrX9by0ccp5w

史上最全Python Re模块讲解

https://mp.weixin.qq.com/s/GEn6rmbSfob5W7syf9cnJw

Python实现Word文档操作

https://mp.weixin.qq.com/s/QatY21HxcYHqV2WZ8gc0_g

Python中的异常处理

https://mp.weixin.qq.com/s/i_xLlknJbap3Z9ci0gwuNQ

如何用Python编写一个Lisp解释器

https://mp.weixin.qq.com/s/mP7M4z2mzj_1KPrEx0oqwg

迭代列表不要For循环,这是Python列表推导式最基本的概念

https://mp.weixin.qq.com/s/mcHYTjIDnVBA58-1h8BLdA

手把手教学:提取PDF各种表格文本数据

https://mp.weixin.qq.com/s/bV7g9ugGmFjojGDMIc_kpQ

Python中的元编程:一个关于修饰器和元类的简单教程

https://mp.weixin.qq.com/s/WZDuxH-SYZlD6DED539J6Q

从Python代码到APP,你只需要一个小工具

https://mp.weixin.qq.com/s/hplHCF1e4arlXCRAel0mcw

Python十大装腔语法

https://mp.weixin.qq.com/s/Oo-U4Bq7g1wmQgXJ7Y-rjw

万字长文详解如何用Python玩转OpenGL

https://mp.weixin.qq.com/s/ctlb3nwCEu3qP__xeTUlQQ

GitHub上有个沙雕开发者,做了款斗图工具后火了…

https://mp.weixin.qq.com/s/G5qx3-1Wq4gcRSuRfrczuw

Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师

https://mp.weixin.qq.com/s/zIHJsyankFEf_ig4Xnb0Uw

工具推荐!我是如何使用Python脚本分析CPU使用情况的?

Fork me on GitHub