1、引言
趁着这个五一假期,我整理了几款超级好用的小技巧,
与其说这是小技巧,倒不如说这是在我实际工作中总结出来的经验。
小屌丝:鱼哥,那你说的这几个小技巧,是不是得好多行代码?
小鱼:我可以拒绝回复你的信息吗?
小屌丝:别啊,
小鱼:咋哪哪都有你,就不能让我独自一人把前言给说完吗?
小屌丝:我这不是担心没有我的提问,你自己不会知道该咋介绍。
小鱼:你可拉倒吧,你就消停的眯一会,它不香吗?
小屌丝:香,真香~
2、实战性技巧
2.1 服务端口测试
Windows系统如果没有安装telent软件,如何测试ip端口的出站网络流量呢?
这就用到了我们今天的第一个小技巧:
执行代码
python -m telnetlib -d 10.2.220.220 800
2.2 本地启动 web 服务
执行代码
python -m http.server
在浏览器输入localhost:8000就可以访问了
当然了,
还可以参照小鱼的这篇博文《Python3,一行代码实现文件夹共享,看到结果我酸了~》,有详细的步骤哦。
2.3 验证及格式化 JSON 字符串
json文件格式化,是一个非常实用的功能,
这里我们需要借助于json.tool,在内容最后添加上 "| python -m json.tool"即可
示例
echo '{"name": {"first_name":"Carl", "last_name":"DJ"}, "age":18}'
代码
echo '{"name": {"first_name":"Carl", "last_name":"DJ"}, "age":18}' | python -m json.tool
运行结果
2.4 创建文本编辑器
Python 可以来”创建”一个文本编辑器,但是功能非常有限。
这个编辑器由基于 Tkinter 实现的idlelib 模块创建,所以它是可以跨平台运行的。
示例一
编写 Python 程序来显示当前的时间
mkdir get_time_apppython -m idlelib get_time_app/print_time.py
注意点:
如果文件目录不存在,idlelib将无法创建;
所以,需要提前确定文件目录是否存在。
2.5 创建可执行应用程序
2.5.1 创建
如果想获取一个简单的应用程序,不需要繁琐的PyInstaller 第三方工具包,
而只需要Zipapp 就可以实现,
python -m zipapp get_time -m "print_time:main"
注意点:
Zipapp 是python内置库,不需要pip安装
get_time:是给ziapp设置名称
文件后缀名是:.pyz
2.5.2 启动
启动文件:
python get_time.pyz
2.6 编码和解码字符串或文件
Python CLI,我们可以加密字符串或文件。
这里,我们以 ROT13 加密算法为例进行展示。
ROT13 是一种偏移 13 位的凯撒密码,它的加密原理如下图所示:
2.6.1 encodings.rot_13编码方式
1、加密
使用encodings.rot_13进行加密,
代码示例
echo "I am Carl" | python -m encodings.rot_13
加密结果:
V nz Pney
2、解密
代码示例
echo "V nz Pney" | python -m encodings.rot_13
解密结果:
I am Carl
2.6.2 base64编码
1、加密
代码示例
echo "I am Carl" | python -m base64
加密结果:
SSBhbSBDYXJsDQo=
2、解密
这里运用到 base64 -d 进行解密:
代码示例
echo "SSBhbSBDYXJsDQo=" | python -m base64 -d
解密结果:
I am Carl
2.7 获取系统元数据
2.7.1 获取当前系统信息
python -m sysconfig
运行结果
2.7.2 获取python的环境路径
代码示例
python -m site
运行结果
2.8 文件压缩
1、文件压缩
代码示例
python -m zipfile -c get_time.zip get_time
2、文件解压缩
代码示例
python -m zipfile -e get_time.zip get_time_extracted
这里,只以zip文件的压缩/解压缩的方式。
其他的两种方式,可以看小鱼的这篇博文:
《 Python3,9行代码进行压缩和解压缩,从此告别压缩软件。》,包含了多种方式:
zip文件
tar.gz文件
rar文件
7z文件
3、总结
看到这里,今天的分享就差不多结束了。
这些小技巧,应用在平时的工作中,不仅可以提升撸码技能,
还可以节省时间,提高工作效率。