当前位置: 首页 > news >正文

【Python 高频 API 速学 ③】

一、为什么先学这 5 个?

• 它们覆盖了「切 → 洗 → 拼 → 换 → 排版」整条链路。
• 任意一段文本处理脚本,80 % 的操作都能用这 5 个方法写完。


二、五虎上将一览

方法作用典型场景易踩的坑
split(sep=None)按分隔符切成列表日志拆字段、CSV 解析连续分隔符会产生空串
strip(chars=None)去首尾空白/指定字符清洗用户输入、去换行只能去首尾,中间不动
join(iterable)用指定字符串把列表拼回去路径拼接、SQL 占位符元素必须全是 str
replace(old, new, count=-1)批量替换子串脱敏、模板渲染默认全部替换,count 可限次
format / f-string格式化输出日志、报表、邮件旧版 % 格式化已过时

三、一行代码场景秀

  1. 把网址参数变字典
params = dict(pair.split('=', 1) for pair in query.strip('&').split('&') if pair)
  1. 清洗并重组文件路径
clean_path = '/'.join(part.strip() for part in raw.split('/') if part)
  1. 日志脱敏:手机号中间四位换成 ****
masked = re.sub(r'(\d{3})\d{4}(\d{4})', r'\1****\2', text)

(先用 replace 也行:text.replace(text[3:7], '****')

  1. 批量生成 SQL 占位符
placeholders = ', '.join(['%s'] * len(columns))
sql = f"INSERT INTO {table} ({', '.join(columns)}) VALUES ({placeholders})"
  1. 模板邮件格式化
body = """
Hi {name},Your order #{order_id} has been shipped on {date}.
""".format(name=name, order_id=oid, date=ship_date)

或更现代的 f-string:

body = f"Hi {name}, your order #{oid} shipped on {ship_date:%Y-%m-%d}"

四、mini 实战:5 行搞定 nginx 日志转 CSV

输入:空格分隔的原始日志行
输出:ip, time, method, url, status, size

import csv, sys
for line in sys.stdin:parts = line.strip().split()csv.writer(sys.stdout).writerow([parts[0], parts[3][1:], parts[5][1:], parts[6], parts[8], parts[9]])

跑一下:

$ tail -n 100 access.log | python log2csv.py > log.csv

五、一条记忆口令

“split 分,strip 洗,join 拼,replace 换,format 美。”

http://www.lryc.cn/news/614819.html

相关文章:

  • RecyclerView 中 ViewHolder
  • TDengine IDMP 快速体验(1. 通过云服务)
  • 【CVPR2025】计算机视觉|PX:让模型训练“事半功倍”!
  • vscode/trae 的 settings.json 中配置 latex 的一些记录
  • 设备点检系统二维码的应用
  • 我用C++和零拷贝重构了文件服务器,性能飙升3倍,CPU占用降低80%
  • Amazon Linux 训练lora模型的方式
  • 《算法导论》第 14 章 - 数据结构的扩张
  • ruoyi关闭shiro校验,任何接口可以直接访问
  • C++-红黑树
  • [C/C++线程安全]_[中级]_[多线程如何使用共享锁提升性能]
  • Meta AI水印计划的致命缺陷——IEEE Spectrum深度文献精读
  • 第4章 程序段的反复执行4.2while语句P128练习题(题及答案)
  • ppt 生成视频的 ai 大模型全面解析
  • (talk)西安大模型开发者talk
  • vue+flask大模型写诗诗词推荐与可视化系统
  • 浏览器面试题及详细答案 88道(01-11)
  • 项目一系列-第4章 在线接口文档 代码模板改造
  • AJAX与axios框架
  • Netty-Rest搭建笔记
  • 系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇
  • 轻松实现浏览器自动化——AI浏览器自动化框架Stagehand
  • 【华为机试】63. 不同路径 II
  • C++简单项目跟练【通讯录管理系统000】
  • 数据集: TSPLIB旅行商问题-对称TSP数据集
  • 宁商平台税务升级之路:合规为纲,服务为本
  • 五、SpringBoot工程打包与运行
  • 解决 MinIO 上传文件时报 S3 API Requests must be made to API port错误
  • Sklearn 机器学习 数据降维PCA 使用PCA算法
  • Java 之 设计模式