Python内置了一些模块,无需编写任何代码,即可在命令行下直接使用,在一些情况下,使用这些模块的确很方便。
Python默认只会在当前路径下查找.py文件,如果在命令行加上-m参数,可以使python在查找路径的时候,除了当前路径,还去查找标准库的路径。
-m参数将 Python 模块以脚本的形式运行。如果指定的模块的实现支持命令行操作,就可以在命令行直接使用它,
如格式化json的命令:echo '{"地址": {"省":"广东", "市":"广州"} ,"年龄":33}' | python -m json.tool,具体结果见下图:
通过python --help可以查看-m参数的解释:
-m mod : run library module as a script (terminates option list)
python中支持命令行操作的模块如下:
| 模块名称 | 功能 | 命令使用示例 |
|---|---|---|
| http.server | 启动 一个web 服务,端口是8000 以根目录的形式展示在命令启动路径下的本地文件系统 | python -m http.server |
| json.tool json5.tool simplejson.tool | 验证及格式化 JSON 字符串 | echo '{"status":"200","data":[{"id":123,"addr":"广州天河"}],"time":1595921796,"info":"测试测试"}' | python -m json.tool cat json.txt | python -m json.tool > json.json |
| encodings.rot_13 base64 | 编码和解码字符串或文件 | echo "hello world" | python -m encodings.rot_13 echo "uryyb jbeyq" | python -m encodings.rot_13 echo "伟大的祖国" | python -m base64 echo "5Lyf5aSn55qE56WW5Zu9Cg==" | python -m base64 -d |
| sysconfig | 获取系统元数据 | python -m sysconfig |
| site | 展示 Python 环境路径和当前工作路径 | python -m site |
| telnetlib | 充当telnet使用,进行服务端口测试 | python -m telnetlib -d 172.25.21.188 443 |
| idlelib | 创建文本编辑器 | mkdir get_time_app python -m idlelib get_time_app/print_time.py |
| zipapp | 创建可执行应用程序 | python -m zipapp get_time_app -m "print_time:main" 产生一个以.pyz为扩展名的文件 执行这个应用程序: python get_time_app.pyz |
| zipfile tarfile | 文件压缩 | python -m zipfile -c get_time_app.zip get_time_app python -m zipfile -e get_time_app.zip get_time_app_extracted python -m zipfile -l get_time_app.zip |
| tkinter | tkinter模块的一点简单测试代码 | python -m tkinter |
ROT13 是一种偏移 13 位的凯撒密码,它的加密原理如下图所示:
是基于Tkinter 实现的一个IDLE应用程序
The idlelib package implements the Idle application.
Idle includes an interactive shell and editor.
Starting with Python 3.6, IDLE requires tcl/tk 8.5 or later.
Use the files named idle.* to start Idle.
Python 的八个实用的“无代码”特性
python3 -m module 介绍



