👋 我是 Lucifer,一名专注 Oracle、国产数据库与数据库架构的 DBA。更多原创文章和技术资料同步更新:ora100.com
前言
本文整理 Python 3.14 环境中常用的 100 条命令与短代码,覆盖解释器、虚拟环境、依赖、文件数据、网络、并发、测试、调试、性能和打包。第三方工具需先安装,项目命令优先写成 python -m ...,避免调用到错误环境中的可执行文件。
一、解释器与环境
查看 Python 版本
python3 --version
查看完整构建信息
python3 -VV
查看解释器路径
python3 -c "import sys; print(sys.executable)"
查看模块搜索路径
python3 -c "import sys; print(*sys.path, sep='\n')"
查看平台信息
python3 -c "import platform; print(platform.platform())"
执行单行代码
python3 -c "print(sum(range(101)))"
以模块方式运行
python3 -m http.server 8000
进入交互模式后保留脚本变量
python3 -i app.py
使用隔离模式运行
python3 -I script.py
查看全部命令行选项
python3 --help-all
二、虚拟环境与 pip
创建虚拟环境
python3 -m venv .venv
激活虚拟环境
source .venv/bin/activate
升级 pip
python -m pip install --upgrade pip
安装指定版本
python -m pip install 'requests==2.32.5'
按依赖文件安装
python -m pip install -r requirements.txt
查看已安装包
python -m pip list
查看过期包
python -m pip list --outdated
查看包详情
python -m pip show requests
检查依赖冲突
python -m pip check
导出锁定版本
python -m pip freeze > requirements-lock.txt
三、模块与代码检查
查看模块帮助
python3 -m pydoc json
启动本地文档服务
python3 -m pydoc -p 8080
定位模块文件
python3 -c "import json; print(json.__file__)"
查看已安装模块
python3 -c "help('modules')"
编译单个文件检查语法
python3 -m py_compile app.py
递归编译项目
python3 -m compileall -q src
查看抽象语法树
python3 -m ast app.py
格式化代码
python -m black .
运行 Ruff 检查
python -m ruff check .
运行类型检查
python -m mypy src
四、文件与数据处理
读取文本文件
python3 -c "from pathlib import Path; print(Path('app.log').read_text(encoding='utf-8'))"
写入文本文件
python3 -c "from pathlib import Path; Path('status.txt').write_text('ok\n', encoding='utf-8')"
递归查找 Python 文件
python3 -c "from pathlib import Path; print(*Path('.').rglob('*.py'), sep='\n')"
计算文件 SHA-256
python3 -c "import hashlib,pathlib; print(hashlib.file_digest(pathlib.Path('pkg.tgz').open('rb'),'sha256').hexdigest())"
美化 JSON
python3 -m json.tool input.json
校验 JSON
python3 -m json.tool input.json >/dev/null
读取 CSV
python3 -c "import csv; print(*csv.DictReader(open('data.csv',encoding='utf-8')),sep='\n')"
创建 ZIP 文件
python3 -m zipfile -c backup.zip data/
列出 ZIP 内容
python3 -m zipfile -l backup.zip
解压 ZIP 文件
python3 -m zipfile -e backup.zip restore/
五、日期、正则与编码
输出 ISO 时间
python3 -c "from datetime import datetime,timezone; print(datetime.now(timezone.utc).isoformat())"
计算 7 天后的日期
python3 -c "from datetime import date,timedelta; print(date.today()+timedelta(days=7))"
解析日期字符串
python3 -c "from datetime import datetime; print(datetime.strptime('2026-07-27','%Y-%m-%d'))"
正则提取 IPv4
python3 -c "import re; print(re.findall(r'\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b',open('app.log').read()))"
正则替换
python3 -c "import re; print(re.sub(r'password=\\S+','password=***','user=a password=secret'))"
URL 编码
python3 -c "from urllib.parse import quote; print(quote('金仓 数据库'))"
Base64 编码
python3 -c "import base64; print(base64.b64encode(b'hello').decode())"
Base64 解码
python3 -c "import base64; print(base64.b64decode('aGVsbG8=').decode())"
生成 UUID
python3 -c "import uuid; print(uuid.uuid4())"
生成安全随机令牌
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
六、网络与系统
查询主机 IP
python3 -c "import socket; print(socket.gethostbyname_ex('example.com'))"
测试 TCP 端口
python3 -c "import socket; print(socket.create_connection(('127.0.0.1',8000),3).getpeername())"
发起 HTTP GET
python3 -c "from urllib.request import urlopen; print(urlopen('https://example.com',timeout=5).status)"
解析 URL
python3 -c "from urllib.parse import urlparse; print(urlparse('https://example.com/a?q=1'))"
查看环境变量
python3 -c "import os; print(os.getenv('PATH'))"
查看当前工作目录
python3 -c "from pathlib import Path; print(Path.cwd())"
查看 CPU 数量
python3 -c "import os; print(os.process_cpu_count())"
执行外部命令并检查返回码
python3 -c "import subprocess; subprocess.run(['git','status','--short'],check=True)"
捕获外部命令输出
python3 -c "import subprocess; print(subprocess.check_output(['uname','-r'],text=True).strip())"
查看 Python 进程资源限制
python3 -c "import resource; print(resource.getrlimit(resource.RLIMIT_NOFILE))"
七、数据库与并发
打开 SQLite 命令行
python3 -m sqlite3 app.db
执行 SQLite 查询
python3 -c "import sqlite3; print(sqlite3.connect('app.db').execute('select sqlite_version()').fetchone())"
创建 SQLite 表
python3 -c "import sqlite3; c=sqlite3.connect('app.db'); c.execute('create table if not exists t(id integer primary key,name text)'); c.commit()"
查看 SQLite 备份
python3 -c "import sqlite3; a=sqlite3.connect('app.db'); b=sqlite3.connect('backup.db'); a.backup(b)"
运行 asyncio 示例
python3 -c "import asyncio; asyncio.run(asyncio.sleep(1,result='done'))"
创建线程池
from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor(4) as pool:
print(list(pool.map(str.upper, ["a", "b", "c"])))
创建进程池
from concurrent.futures import ProcessPoolExecutor
with ProcessPoolExecutor() as pool:
print(list(pool.map(abs, [-1, -2, -3])))
创建生产者消费者队列
from queue import Queue
q = Queue(); q.put("task"); print(q.get())
设置子进程超时
python3 -c "import subprocess; subprocess.run(['sleep','1'],timeout=2,check=True)"
并发请求多个 URL
import asyncio
asyncdef main():
await asyncio.gather(*(asyncio.to_thread(print, x) for x in range(5)))
asyncio.run(main())
八、测试与调试
运行 unittest
python3 -m unittest discover -s tests -v
运行指定测试
python3 -m unittest tests.test_api.ApiTest.test_health
运行 pytest
python -m pytest -q
运行带关键字的测试
python -m pytest -k health -vv
失败即停止
python -m pytest -x
生成覆盖率
python -m coverage run -m pytest
输出覆盖率报告
python -m coverage report -m
使用 pdb 运行脚本
python3 -m pdb app.py
发生异常时进入调试器
python3 -m pdb -c continue app.py
启用开发模式
python3 -X dev app.py
九、性能与诊断
测量表达式耗时
python3 -m timeit "sum(range(1000))"
带初始化代码压测
python3 -m timeit -s "x=list(range(1000))""sum(x)"
生成 cProfile 数据
python3 -m cProfile -o profile.pstats app.py
按累计时间查看性能
python3 -c "import pstats; pstats.Stats('profile.pstats').sort_stats('cumulative').print_stats(20)"
分析导入耗时
python3 -X importtime -c "import asyncio"
跟踪内存分配
python3 -X tracemalloc=10 app.py
崩溃时输出堆栈
python3 -X faulthandler app.py
将警告转为错误
python3 -W error app.py
禁止生成 pyc
python3 -B app.py
查看垃圾回收统计
python3 -c "import gc; print(gc.get_stats())"
十、构建与发布
创建 pyproject 项目构建环境
python -m pip install -U build
构建 sdist 和 wheel
python -m build
只构建 wheel
python -m build --wheel
检查分发包元数据
python -m twine check dist/*
上传到测试仓库
python -m twine upload --repository testpypi dist/*
安装本地 wheel
python -m pip install dist/example-1.0.0-py3-none-any.whl
可编辑安装项目
python -m pip install -e .
构建独立 zipapp
python3 -m zipapp src -m 'app:main' -o app.pyz
检查 wheel 内容
python3 -m zipfile -l dist/example-1.0.0-py3-none-any.whl
一次完成质量检查
python -m ruff check . && python -m pytest -q && python -m build
总结
这 100 条命令覆盖了 Python 项目从环境创建到发布的主要环节。生产项目应固定依赖版本、隔离运行环境、把检查与测试放入 CI,并避免在命令行或源码中保存密钥。
SQL Server DBA 实用的 100 条命令(建议收藏)
Oracle DBA 应该掌握的 100 条命令(建议收藏)
MongoDB DBA 应该掌握的 100 条命令(建议收藏)
OceanBase DBA 应该掌握的 100 条命令(建议收藏)
更多 Oracle、MySQL、PostgreSQL、MongoDB 实战内容,可以访问 DBA 学习平台:ora100.com
感谢阅读。
我会持续分享 Oracle、GoldenGate、RAC、Data Guard、MySQL、PostgreSQL、OceanBase、人大金仓等数据库技术文章。
个人网站:ora100.com