你有没有过这种感觉——看别人敲 Python,噼里啪啦一行就搞定,自己在那写了二十行还没跑通?
今天分享 10 个真正实用的一行代码,不是那种炫技没人用的,是你日常写脚本、整理文件、处理数据时真的会碰到的。
每个都配了使用场景,看完直接能抄。
01 一行启动 HTTP 服务器
python -m http.server 8000
场景:同事让你传个文件,微信发不了太大。进到文件所在目录,跑这行,浏览器打开 localhost:8000,对方同网段直接下载。
零依赖,Python 自带,比任何文件传输工具都快。
02 一行读取整个文件
content = open('file.txt').read()
场景:以前学的是 with open 再 read 再 close,三件套。其实一行就够,Python 的垃圾回收会帮你关文件。
正式项目里还是建议用 with,但写脚本快速验证的时候,这行省事。
03 一行列表去重保序
unique = list(dict.fromkeys([1, 2, 2, 3, 1, 4]))
场景:set 去重大家都知道,但 set 会打乱顺序。这行利用字典键不重复的特性,去重的同时保留原始顺序。
面试被问到"去重怎么保序",直接答这个,加分。
04 一行反转字符串
reversed_str = "hello"[::-1]
场景:切片语法的 [开始:结束:步长],步长为 -1 就是倒着走。对字符串、列表都有效。
看起来像花里胡哨,实际处理回文判断、逆序输出时特别顺手。
05 一行合并两个字典
merged = {"a": 1} | {"b": 2}
场景:Python 3.9 新增的语法糖,用管道符 | 合并字典,比 {**dict1, **dict2} 更直观。
配置文件合并、默认参数覆盖,一行搞定。
06 一行批量重命名文件
import os; [os.rename(f, f.replace('old', 'new')) for f in os.listdir('.') if 'old' in f]
场景:下载了一堆截图叫 "Screenshot_001.png",想批量改成 "笔记_001.png"。进到目录跑这行,秒变。
把 old 和 new 换成你的关键词就行,列表推导式 + os.rename 的组合。
07 一行生成随机密码
import secrets; password = ''.join(secrets.choice('abcXYZ123!@#') for _ in range(16))
场景:注册网站要个强密码,又不想用脑子想。这行生成 16 位随机密码,用 secrets 模块,密码学安全级别,比 random 更可靠。
改 range 的数字调长度,改字符串调字符集。
08 一行算文件夹大小
import os; size = sum(os.path.getsize(os.path.join(r, f)) for r, _, fs in os.walk('.') for f in fs)
场景:想清理磁盘,先看看哪个文件夹占地方。这行遍历当前目录下所有文件,累加大小。
拿到的是字节数,除以 1024 / 1024 就是 MB,方便判断。
09 一行交换两个变量
场景:Python 独有的优雅。别的语言交换变量要引入临时变量 temp,Python 直接元组解包,一行搞定。
不只是数字,任何类型的变量都能这么换,列表、字典、字符串都行。
10 一行下载网络文件
import urllib.request; urllib.request.urlretrieve('', 'file.zip')
场景:想批量下载文件,又不想装 requests 库。这行用标准库 urllib,一行就能把网络文件拉到本地。
配合循环就能做简单爬虫,零依赖版本。
写在最后
这 10 个一行代码,不是让你炫技的,是真的能省时间。
Python 的设计哲学就是简洁——能一行解决的,不写三行。但简洁不等于难懂,每个语法糖背后都有实际场景。
建议你挑两三个最常用的存下来,下次写脚本直接抄。效率这件事,就是一点一点省出来的。
如果有用,点个在看,转发给你身边在学 Python 的朋友。
下次见。