今天分享一些既实用又高效的 Python 单行代码或者命令,涵盖了文件操作、数据处理、网络请求这些常常会碰到的场景,能够帮你迅速把问题给解决掉:
继续淦
1. 文件与系统操作
- 启动一个 HTTP 服务器(共享当前目录)
python3 -m http.server 8000 # 端口可自定义
- 批量重命名文件(后缀 .txt 改为 .md)
import os; [os.rename(f, f.replace('.txt', '.md')) for f in os.listdir() if f.endswith('.txt')]
- 递归搜索目录下所有含关键词的文件
import os, sys; [print(f) for root, _, files in os.walk('.') for f in files if open(os.path.join(root, f)).read().find('KEYWORD') != -1]
2. 数据处理与转换
- 读取 CSV 文件并计算某列平均值
import csv; print(sum(float(row[2]) for row in csv.reader(open('data.csv')) if row) / sum(1 for _ in open('data.csv')))
- JSON 格式化输出(从字符串或文件)
python3 -m json.tool < data.json # 终端直接格式化
- 将列表按第二列排序(假设列表为 data)
sorted_data = sorted([(1, 'b'), (3, 'a'), (2, 'c')], key=lambda x: x[1])
人生苦短
3. 网络与 API 交互
- 发送 HTTP GET 请求并打印响应
import requests; print(requests.get('https://api.example.com').text)
- 下载文件并保存到本地
import urllib.request; urllib.request.urlretrieve('http://example.com/file.zip', 'file.zip')
- 解析 HTML 获取所有链接(需安装 bs4)
import requests, bs4; print([a['href'] for a in bs4.BeautifulSoup(requests.get('http://example.com').text, 'html.parser').find_all('a')])
4. 数学与算法
- 生成斐波那契数列前 N 项
n=10; print([x if x<2 else (lambda f: f(f, x))(lambda f, x: f(f, x-1)+f(f, x-2)) for x in range(n)])
- 列表去重并保持顺序
items = [3, 2, 2, 1, 4]; unique = list(dict.fromkeys(items))
- 快速求 1~100 偶数的平方和
print(sum(x**2 for x in range(1, 101) if x % 2 == 0))
5. 快捷工具与技巧
- 生成随机密码(8 位字母数字)
import random, string; print(''.join(random.choices(string.ascii_letters + string.digits, k=8)))
- 时间戳转换(秒 → 可读时间)
import datetime; print(datetime.datetime.fromtimestamp(1622505600).strftime('%Y-%m-%d %H:%M:%S'))
- 压平嵌套列表
nested = [[1,2], [3,4]]; flat = [item for sublist in nested for item in sublist]
6. 单行魔法技巧
- 单行循环 + 条件判断
["Even" if i%2==0 else "Odd" for i in range(5)] # 输出: ['Even', 'Odd', 'Even', 'Odd', 'Even']
- Lambda 表达式实现阶乘
factorial = lambda n: 1 if n == 0 else n * factorial(n-1)
- 用 map 快速处理列表
list(map(lambda x: x*2, [1,2,3])) # 输出: [2,4,6]
注意事项
- 部分代码需要第三方库(如 requests, bs4),需提前 pip install。
- 单行代码虽简洁,但可读性可能降低,复杂逻辑建议拆分。
- 文件操作注意路径和权限问题,必要时添加异常处理。
掌握这些单行技巧,Python 也能成为你的“瑞士军刀”!
还是那句话:干中学,学中干
如果觉得不错的话,麻烦点个关注,收藏谢谢。
毕竟:
我太想进步了