python你好
个人体验(待续)
虽然代码写了一些年头,但python很少使用,偶尔一用也是应急,copy来parse去无顾所以。最近的应急使用中,突然发现python很有用^^。缘起:手头有2M+的文本数据需要快速处理成想要的样子。
第三方库都会在python的官网注册,所以了解他们的有效办法就是去===>官方。
python标准库文档
不得不说
主函数
- 咱们知道的没有错误,python文件中的语句是逐条顺序执行的。需要考虑一个问题:py文件作为模块导入时与独立运行时有什么不同,用什么神仙语句区分不同呢?
- 我的疑惑在这里了结:每个函数都可以成为主函数,只是风格不够好。
- __name__的预置value,给了我这个码农很多,我的主函数从这里出生,下面的代码见分晓。
if __name__ == "__main__" :
wo_meng_de_main()
映射函数
映射函数(map)我第一次是听到是在lisp语言中,lisp是古老但高级的无敌语言,据说是当时数学家发明和使用的语言。
看看这句代码,再发挥一下想想,你真的会兴奋一阵子。猜猜输出结果。
print( list( map( str, [1, 2, 3] ) ) )
归并函数
与map一样神奇的函数,reduce(fun, some_data)。
简单的例子,猜猜结果是啥?
from functools import reduce
def add(x, y):
return x + y
print(reduce(add, [1, 2, 3]))
常用的库(待续)
time
- time.sleep(1),比较快捷的粗略延时,主要时容易记更容易上手。
venv
- 好用的python虚拟环境创建模块,所得虚拟环境属于轻量级,但与主环境完全隔离。不用的时候,无需多虑,直接删除。出于对pythonIDE探索目的,尝试安装Eric时就使用了venv的安装方法,安装过程省心++。
apscheduler
- 定时任务框架库。注意区分blocking和unblock。
- python -m pip install apscheduler
logging
写代码什么先行?我想是日志,这个绝对是提高效率,节约生命的利器。
这位同行的介绍的很细致了,重点关注basicConfig()。
简单的例子:
import os
import logging
FRT = "%(asctime)s=%(levelname)s=%(message)s"
DFRT = "%m/%d/%Y %H:%M:%S %p"
logging.basicConfig(filename='your_log_file.log', level=logging.DEBUG, format=FRT, datefmt=DFRT)
logging.debug("debug infomation")
watchdog
监控目录文件的变化,并发送通知。自动化的必要部件。
都在这里了===>官方网站
pynput
监视和控制输入设备,目前支持键盘和鼠标输入设备。保持了python的简单使用惯例。
python -m pip install pynput
专用的库(待续)
wmi
初次接触,通过应用代码知道,它可以给我网络接口卡的数据流量信息。WMI是Windows管理规范,标准接口。
理解WMI的要素:命名空间,类,子类,属性和方法。咱用的就是属性值,所以需要找到所属关系,下面的网址特别有用。
- python -m pip install wmi, 这是我喜欢的安装方式。
- wmi查询利器
win32com
比wmi更快的库,WMI时管理规范,类似SNMP的MIB库,内有大量的命名空间、类以及属性。使用时难免迷茫。幸好码农世界是精彩的,早有其他伙伴想到了。这里是不错的去处。
准备好win+r,输入wbemtest有惊喜。所有想要的都在wbemtest里了。
PyQt5
流行且强++的界面库。用他开发时,优先使用Qt原生功能,例如定时器等。打包时省时省力。
- python -m pip install PyQt5
- python -m pip install pyqt5-tools
国内的源,追求安装速度的来这里:https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
psutil
更加通用(GNU/Linux,UNIX,OSX,WINDOWS)的系统信息获取模块。psutil = process and system utilities。寥寥几行代码搞定系统信息。
所有的细节在这里===>官方网站
web应用
TLS
C++到python
有时候想把c++实现的功能封装起来,在执行时间不是那么严苛的情况下,让python把它执行起来。此时需要c++到python。下面是一个好的开始。
一个示例
生成exe
工具pyinstaller
通过pip 安装pyinstaller,我喜欢的命令:python -m pip install pyinstaller。
打包也是简单不过,就是她:pyinstaller -F your_python_file.py
随着我的不断探索,发现大家更认可nuitka。原因是编译后的代码执行效率提高了30%还是有的。
工具nuitka
nuitka的功能之一便是:生成exe可执行文件。
python -m nuitka --standalone your_python_file.py(入门命令)
简单有效,火力全开。
nuitka来自这里。
来自同行的实战nuitka
^这篇文章里列举了有用的编译选项,有用。我主要用到–plugin-enable=tk-inter windows-disable-console
工具PyCharm
适用于使用python开发界面的IDE。PyQt5+PyCharm是很好的搭档。
官方交流版.
大爱,同行繁荣。