首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 50个命令行技巧

Python 50个命令行技巧

作者头像
用户11081884
发布2026-07-20 17:00:38
发布2026-07-20 17:00:38
400
举报

Python 命令行工具提供了强大的功能,能够显著提高开发者的工作效率。本文将介绍 50 个实用的 Python 命令行技巧,涵盖代码执行、调试、文件操作、网络请求、自动化任务等多个方面,帮助更好地利用 Python 的强大功能

基础操作技巧

1、直接执行代码片段

无需创建文件即可运行 Python 代码:

代码语言:javascript
复制
python -c "print('Hello World')"  

对于快速测试小段代码非常有用。

执行结果:Hello World

2、使用 Python 作为计算器

直接在命令行中进行数学运算:

代码语言:javascript
复制
python -c "print(5 * 8 + 1200)" 

执行结果1240

3、检查 Python 版本

快速查看当前使用的 Python 版本:

代码语言:javascript
复制
python --version 

执行结果:Python 3.13.2

4、启动交互式解释器

在任何目录中输入以下命令即可启动 Python REPL

代码语言:javascript
复制
python 或   python3 

执行结果进入 Python 交互式环境,显示 > >> 提示符

5、安静模式启动

跳过启动消息,直接进入交互模式:

代码语言:javascript
复制
python -q 

执行结果直接显示 >>> 提示符,无版本信息

6、退出交互式解释器

使用 exit()quit() 退出 Python 交互式环境

执行结果退出 Python 环境,返回命令行

7、获取帮助信息

查看 Python 命令或模块的帮助文档:

代码语言:javascript
复制
help('math') 或   python -c "help('math')" 

执行结果显示 math 模块的帮助文档

8、列出已安装模块

查看系统中安装的所有 Python 包:

代码语言:javascript
复制
python -m pip list 

执行结果显示已安装包列表,如:

img
img

9、直接运行模块

无需脚本文件即可运行 Python 模块:

代码语言:javascript
复制
python -m http.server 

启动本地 Web 服务器

执行结果启动本地 Web 服务器,默认端口 8000

img
img

10、使用 Tab 键自动补全

IPython 或支持自动补全的环境中,按 Tab 键可以补全命令或模块名

执行结果显示可能的补全选项

调试与性能分析

11、交互式调试模式

使用 -i 标志运行脚本后保持解释器打开,便于检查变量:

代码语言:javascript
复制
python -i my_script.py 

执行结果脚本执行后进入交互模式,变量保留

12、测量代码执行时间

使用 timeit 模块测试代码执行速度:

代码语言:javascript
复制
python -m timeit -n 5 -r 3 "y = [x**2 for x in range(2000)]" 

执行结果:每条语句循环 5 次,重复 3 轮,取最好的一轮

img
img

13、语法检查

在不运行代码的情况下检查语法是否正确:

代码语言:javascript
复制
python -m py_compile my_script.py 

执行结果:如果语法正确,没有任何输出,并且会在 __pycache__/ 下生成 .pyc 字节码文件;如果语法错误,会打印错误信息(包括行号和错误类型),并返回非 0 状态码

代码语言:javascript
复制
$ python -m py_compile my_script.py         $ echo        $?     0

14、性能分析

使用 cProfile 分析脚本的运行时间:

代码语言:javascript
复制
python -m cProfile -s time script.py 

执行结果:

img
img

15、内存使用监控

查看脚本的内存占用情况:

代码语言:javascript
复制
python -m memory_profiler my_script.py 

执行结果:

代码语言:javascript
复制
 5     38.9 MiB     38.9 MiB           1   @profile 6                                         def main(): 7     39.2 MiB      0.3 MiB           1       words = open('big.txt').read().split() 8     39.2 MiB      0.0 MiB           1       return len(words)

16、使用 pdb 调试器

在代码中插入断点进行调试:

代码语言:javascript
复制
import pdbpdb.set_trace()

执行结果:程序在断点处暂停,进入调试模式

17、查看当前时间

快速获取当前时间:

代码语言:javascript
复制
python -c "import time; print(time.ctime())" 

执行结果:Tue Jul 22 14:24:25 2025

18、生成随机数

从命令行生成随机数:

代码语言:javascript
复制
python -c "import random; print(random.randint(1, 1000))" 

执行结果:随机数字如 742

19、模拟掷骰子

快速生成随机骰子点数:

代码语言:javascript
复制
python -c "import random; print(random.randint(1, 6))" 

执行结果:1-6之间的随机整数如1

20、计算阶乘 快速计算数字的阶乘:

代码语言:javascript
复制
python -c "import math; print(math.factorial(5))" 

执行结果:120

文件与数据处理

21、读取文件内容

在命令行中打印文件内容:

代码语言:javascript
复制
python -c "print(open('file.txt').read())" 

执行结果:显示文件内容

22、统计文件行数

计算文件中的行数:

代码语言:javascript
复制
python -c "print(len(open('file.txt').readlines()))" 

执行结果:显示文件行数

23、按行排序文件

对文本文件按字母顺序排序:

代码语言:javascript
复制
python -c "print(sorted(open('my_file.txt').readlines()))" 

执行结果:显示排序后的文件内容

24、读取 CSV 文件

直接解析 CSV 文件内容:

代码语言:javascript
复制
python -c "import csv; print(list(csv.reader(open('my_file.csv'))))" 

执行结果:显示 CSV 文件内容为列表

25、美化 JSON 文件

格式化 JSON 文件使其更易读:

代码语言:javascript
复制
python -m json.tool < input.json > output.json 

执行结果:生成格式化的 JSON 文件

26、压缩文件

使用 gzip 压缩文件:

代码语言:javascript
复制
python -c "import gzip, shutil; shutil.copyfileobj(open('file.txt', 'rb'), gzip.open('file.txt.gz', 'wb'))" 

执行结果:生成压缩文件 file.txt.gz

27、解压 ZIP 文件

解压缩 ZIP 文件到指定目录:

代码语言:javascript
复制
python -m zipfile -e my_file.zip ./output_folder 

执行结果:解压文件到指定目录

28、搜索文件

查找匹配特定模式的文件:

代码语言:javascript
复制
 python -c "import glob; print(glob.glob('*.txt'))" 

执行结果:显示匹配的文件列表,如 [’file1.txt’, ’file2.txt’]

29、文件编码转换

转换文件编码格式(如 UTF-8 到 GBK):

代码语言:javascript
复制
 python -c "open('output.txt', 'w', encoding='gbk').write(open('input.txt').read())" 

执行结果:生成转换编码后的文件

30、批量重命名文件

使用 Python 脚本批量修改文件名:

代码语言:javascript
复制
import os[os.rename(f, f.replace('old_', 'new_')) for f in os.listdir() if f.startswith('old_')]

执行结果:文件名中的 old_ 被替换为new_

网络与系统操作

31、发送 HTTP 请求

快速发送 GET 请求并获取响应:

代码语言:javascript
复制
python -c "import requests; print(requests.get('https://www.kimi.com ').text)" 

执行结果:

img
img

32、启动 Web 服务器

快速启动简单的 HTTP 服务器:

代码语言:javascript
复制
python -m http.server 8000 

执行结果:启动本地服务器,监听 8000 端口

33、检查网速

使用 speedtest-cli 测试网络速度:

代码语言:javascript
复制
python -m speedtest_cli 

执行结果:显示下载和上传速度

34、发送电子邮件

通过命令行发送邮件:

代码语言:javascript
复制
python -c "import smtplib; s = smtplib.SMTP('smtp.gmail.com', 587); s.starttls(); s.login('your_email', 'your_password'); s.sendmail('from', 'to', 'message'); s.quit()" 

执行结果:邮件发送成功或失败信息

35、生成二维码

创建二维码图片:

代码语言:javascript
复制
python -c "import qrcode; qrcode.make('https://www.kimi.com ').save('qrcode.png')" 

执行结果:生成 qrc ode.png 文件

36、获取公网 IP

查询本机的公网 IP 地址:

代码语言:javascript
复制
python -c "import requests; print(requests.get('https://api.ipify.org ').text)" 

执行结果:显示公网 IP 地址101.47.9.234

37、端口扫描

简单的端口扫描脚本:

代码语言:javascript
复制
python -c "import socket; print('Port open' if socket.socket().connect_ex(('localhost', 80)) == 0 else 'Port closed')"

执行结果:显示 Port open 或 P ort closed

img
img

38、下载文件

使用 Python 下载网络文件:

代码语言:javascript
复制
python -c "import urllib.request; urllib.request.urlretrieve(' https://www.kimi.com/file.zip ', 'local_file.zip')" 

执行结果:下载文件保存为 local_file.zip

39、监控网站状态

检查网站是否在线:

代码语言:javascript
复制
python -c "import requests; print('Online' if requests.get(' https://www.kimi.com').status_code == 200 else 'Offline')" 

执行结果:显示 Onl ine Off line

img
img

40、获取网页标题

提取网页标题信息:

代码语言:javascript
复制
python -c "from bs4 import BeautifulSoup; import requests; print(BeautifulSoup(requests.get('https://www.kimi.com').text, 'html.parser').title.text)"

执行结果

img
img

自动化与高级技巧

41、创建进度条

在命令行中显示进度条:

代码语言:javascript
复制
python -c "import time; [print(f'\r{i}%', end='') or time.sleep(0.1) for i in range(101)]" 

执行结果

42、温度转换

摄氏度和华氏度之间的转换:

代码语言:javascript
复制
python -c "c=30; print(f'{c}C = {(c * 9/5) + 32}F')" 

执行结果:

img
img

43、生成强密码

创建安全的随机密码:

代码语言:javascript
复制
python -c "import secrets; print(secrets.token_urlsafe(16))" 

执行结果:

img
img

44、检查质数

验证数字是否为质数:

代码语言:javascript
复制
python -c "print(all(101 % i != 0 for i in range(2, int(101**0.5)+1)))" 

执行结果:

img
img

45、快速绘图

无需脚本直接绘制简单图表:

代码语言:javascript
复制
python -c "import matplotlib.pyplot as plt; plt.plot([1, 2, 3], [4, 5, 6]); plt.show()" 

执行结果:

img
img

46、定时任务

使用 Python 设置定时任务(Linux)

代码语言:javascript
复制
(crontab -l; echo "0 1 * * * /usr/bin/python /path/to/your_script.py") | crontab -

执行结果:添加定时任务,每天凌晨1点执行脚本

47、系统信息收集

获取基本的系统信息:

代码语言:javascript
复制
python -c "import platform; print(f'System: {platform.system()}\nNode: {platform.node()}\nRelease: {platform.release()}\nVersion: {platform.version()}\nMachine: {platform.machine()}\nProcessor: {platform.processor()}')"

执行结果:显示系统信息

48、批量图片处理

使用 PIL 批量调整图片大小:

代码语言:javascript
复制
python -c "from PIL import Image; import os; [Image.open(f).resize((800,600)).save(f'resized_{f}') for f in os.listdir() if f.endswith('.jpg')]"

执行结果:生成调整大小后的图片文件,前缀 resized_

49、文件差异比较 比较两个文件的差异:

代码语言:javascript
复制
python -c "import difflib; print('\n'.join(difflib.unified_diff(open('file1.txt').readlines(), open('file2.txt').readlines())))"

执行结果:显示文件差异的 unified diff 格式

50、创建 CLI 应用 使用 Click 库创建命令行工具:

代码语言:javascript
复制
pip install click# 创建带有参数解析的命令行工具

执行结果:安装 Click 库,为创建 CLI 工具做准备

结语

Python 命令行的强大之处在于它的灵活性和可扩展性。通过结合第三方库和自定义脚本可以完成与开发和系统管理相关的任务。50 个 Python 命令行技巧能够帮助开发者更高效地完成日常任务,提升工作效率。这些技巧组合使用,创造出更加强大和高效的解决方案:

  • 快速测试代码片段而不需要创建临时文件
  • 高效地进行调试和性能分析
  • 自动化文件处理和系统管理任务
  • 轻松完成网络相关操作
  • 创建强大的命令行工具和脚本

“无他,惟手熟尔”!有需要的用起来。

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!😊

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础操作技巧
  • 调试与性能分析
  • 文件与数据处理
  • 网络与系统操作
  • 自动化与高级技巧
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档