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

如何将accounts.txt中的用户名转换为指定格式的Python列表?

解决方案:将带@的用户名转换为指定格式的列表

没问题,这其实很容易实现,我给你几个不同的方案,你可以根据自己的脚本环境选合适的:

Python 实现(最常用的脚本场景)

方法1:一次性读取处理(适合单行内容)

如果你的accounts.txt内容是单行的(就像你描述的那样),用这个简洁的写法:

# 安全读取文件内容
with open('accounts.txt', 'r') as f:
    content = f.read().strip()

# 分割用户名并去除@符号
usernames = [username.lstrip('@') for username in content.split()]

# 输出你要的格式(或者写入文件)
formatted_list = str(usernames)
print(formatted_list)

说明:

  • with open是Python推荐的文件操作方式,会自动关闭文件,避免资源泄漏
  • split()会按空格把内容拆分成单个用户名的列表
  • lstrip('@')只去除用户名开头的@符号(如果用户名本身包含@,不会误删)

方法2:逐行处理(适合多行/格式不规整的文件)

如果文件里的用户名分布在多行,或者有多余空白,用这个更灵活的写法:

usernames = []
with open('accounts.txt', 'r') as f:
    for line in f:
        # 处理每行的内容,跳过空行
        cleaned_line = line.strip()
        if not cleaned_line:
            continue
        # 拆分每行的用户名并处理
        for name in cleaned_line.split():
            # 只去除开头的@,保留其他位置的(如果有的话)
            processed_name = name[1:] if name.startswith('@') else name
            usernames.append(processed_name)

# 输出目标格式
print(str(usernames))

Bash 命令行实现(快速处理文件)

如果你想用命令行直接生成结果,可以用sed和echo组合:

echo "[$(sed 's/@/"/g; s/ /", "/g' accounts.txt)]"

说明:

  • sed 's/@/"/g'把所有@替换成双引号
  • s/ /", "/g把空格替换成", "
  • 最后用echo把结果包裹在[]里,直接输出你要的格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 06:32:54