You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python脚本提取文本中的用户名和密码并保存到CSV?

用正则表达式鲁棒提取字段并写入CSV

推荐通过正则表达式匹配键: 值的格式来提取用户名和密码,这种方式不依赖字段的固定顺序,能适应输出内容的小幅度变化,比按空格/冒号分割后用索引提取靠谱得多。

完整代码实现

import re
import csv

# 替换为你的脚本输出字符串
output = "creating user in XYZ: username: testing firstName: Bob lastName:Test email:auto999@nowhere.com password:gWY6*Pja&4"

# 匹配所有 键: 值 格式的内容
key_value_pattern = re.compile(r'(\w+):\s*([^:]+?)(?=\s+\w+:|$)')
user_info = dict(key_value_pattern.findall(output))

# 提取目标字段(如果字段不存在会返回空字符串,避免报错)
username = user_info.get('username', '')
password = user_info.get('password', '')

# 写入CSV文件
with open('user_creds.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=['username', 'password'])
    writer.writeheader()
    writer.writerow({'username': username, 'password': password})

代码细节说明

  • 正则表达式(\w+):\s*([^:]+?)(?=\s+\w+:|$):
    • (\w+):捕获键名(比如username、password这类由字母/数字组成的字段名)
    • :\s*:匹配冒号及后面的任意空格(兼容字段名和值之间空格多/少的情况)
    • ([^:]+?):非贪婪捕获值的内容,直到遇到下一个空格+键名+冒号或字符串结尾(避免把后面的字段内容误当成当前值)
    • (?=\s+\w+:|$):正向断言,确保值的结束位置是下一个字段的起始或字符串末尾
  • 用dict()把匹配结果转成字典后,直接通过键名提取字段,就算输出里的字段顺序调换(比如password在username前面),也能正常获取
  • 使用Python内置的csv模块写入文件,自动处理CSV格式的转义问题(比如密码里有逗号的情况)

批量处理场景

如果你的脚本输出包含多条用户记录,只需循环遍历每条记录字符串,重复上述提取逻辑,然后用writer.writerows()批量写入即可。

内容的提问来源于stack exchange,提问作者marina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:45:54