Python的奇淫技巧——命令行
参考文献:https://magic.iswbm.com/preface.html
1、“_”的使用:返回上次运行结果
>>> 3 + 4
7
>>> _
7
>>> name='iswbm'
>>> name
'iswbm'
>>> _
'iswbm'
2、json美化:python - m json.tool demo.json
$ python -m json.tool demo.json
{
"_id": "5f12d319624e57e27d1291fe",
"about": "Velitmagnanostrudexcepteurduisextemporirurefugiataliquasunt.Excepteurvelitquiseuinexinoccaecatoccaecatveliteuet.Commodonisialiquipirureminimconsequatminimconsecteturipsumsitex.\r\n",
"address": "246IndianaPlace,Glenbrook,Iowa,3896",
"age": 36,
"balance": "$2,954.93",
"company": "TALAE",
"email": "masseysaunders@talae.com",
"eyeColor": "green",
"favoriteFruit": "apple",
"friends": [
{
"id": 0,
"name": "DorotheaShields"
},
{
"id": 1,
"name": "AnnaRosales"
},
{
"id": 2,
"name": "GravesBryant"
}
],
"gender": "male",
"greeting": "Hello,MasseySaunders!Youhave8unreadmessages.",
"guid": "4e482708-c6aa-4ef9-a45e-d5ce2c72c68d",
"index": 0,
"isActive": false,
"latitude": -10.269827,
"longitude": -103.12419,
"name": "MasseySaunders",
"phone": "+1(853)508-3237",
"picture": "http://placehold.it/32x32",
"registered": "2017-02-06T06:42:20-08:00",
"tags": [
"laborum",
"excepteur",
"veniam",
"reprehenderit",
"voluptate",
"laborum",
"in"
]
}
3、验证代码可用
python demo.py
4、多python版本包安装
# 在 python2 中安装
$ python -m pip install requests
# 在 python3 中安装
$ python3 -m pip install requests
# 在 python3.8 中安装
$ python3.8 -m pip install requests
# 在 python3.9 中安装
$ python3.9 -m pip install requests
5、计算脚本运行时间
python3 -m timeit '"-".join(map(str, range(100)))'
6、 -m 存在的意义
简单来说就是py文件中有一个main的入口函数,这样在别的脚本调用此脚本的时候不会运行该脚本,而要运行本脚本就要从main的入口进入。详情https://magic.iswbm.com/c02/c02_14.html
7、idle打开文件
python3 -m idlelib unshelve.py
8、文件编码与解码
进行 base64 编码 和 解码(加上 -d 参数即可)
# 编码
$ python3 -m base64 demo.py
ZGVmIG1haW4oKToKICAgcHJpbnQoJ0hlbGxvIFdvcmxk8J+RjCcpCiAgIAppZiBfX25hbWVfXz09
J19fbWFpbl9fJzoKICAgbWFpbigpCg==
# 解码
$ echo "ZGVmIG1haW4oKToKICAgcHJpbnQoJ0hlbGxvIFdvcmxk8J+RjCcpCiAgIAppZiBfX25hbWVfXz09
J19fbWFpbl9fJzoKICAgbWFpbigpCg==" | python3 -m base64 -d
def main():
print('Hello World👌')
if __name__=='__main__':
main()
9、查看环境信息
python -m sysconfig
10、创建压缩文件
tar格式压缩包
//创建压缩文件
python3 -m tarfile -c demo.tar demo
//解压文件
python3 -m tarfile -e demo.tar demo_new
gzip 格式压缩包
gzip格式只适用于单个文件,不适用于文件夹
//创建压缩文件
python3 -m gzip message
//解压文件
python3 -m gzip -d message.gz
zip格式压缩包
//创建压缩包
python3 -m zipfile -c demo.zip demo
//解压文件
python3 -m zipfile -e demo.zip demo
程序打包
借助第三方库Pyinstaller库进行程序打包
安装Pyinstaller
pip install Pyinstaller
由于缺少依赖模块造成错误,使用pip install 命令安装pywin32模块和wheel模块后,再安装Pyinstaller
打包程序
普通程序
pyinstaller -F 文件名.py
窗体程序
窗体程序打包要注明第三方模块的路径
pyinstaller --paths PyQt5模块路径 -F -w --icon=窗口文件图标 文件名.py
// -w 表示不出现cmd窗口
// py文件为函数入口程序
// 窗口文件图标用绝对路径表示
// -F 与 -D 可以互换, -F 表示将程序打包为单个exe文件,文件会比较大, -D 表示产生一个目录,将程序依赖的资源放进去,这样子打包exe文件会比较小