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

Python程序读取文本文件拼接行时输出\n而非换行的问题排查

解决Python拼接文本行时显示\n而非实际换行的问题

嘿,我瞅见你遇到的问题了——用readlines()读取文件后,输出里总带着\n转义字符,没法实际换行显示,对吧?这其实是两个小细节没处理好,咱们一步步改过来:

问题1:strip()方法没真正生效

Python里字符串是不可变的,i.strip('\n')会返回一个去掉换行符的新字符串,但你没把这个新值重新赋值给i,导致原来带\n的字符串还是被塞进列表里了。得把处理后的结果存回去才行。

问题2:直接打印字典会显示转义字符

字典默认的打印格式会用repr()输出内容,所以\n会变成转义字符而不是实际换行。如果想让内容换行展示,得自己循环字典来输出。

另外,顺便提个最佳实践:别直接用open()后不关闭文件,用with语句能自动帮你关掉文件,避免资源泄漏。

修改后的完整代码

def user1():
    # 用with语句安全读取密码文件,同时处理换行符
    with open('password.txt', 'r') as file:
        passwords = [line.strip('\n') for line in file.readlines()]
    
    # 同样处理用户文件
    with open('user.txt', 'r') as rfile:
        users = [line.strip('\n') for line in rfile.readlines()]
    
    # 拼接成字典
    user_pwd_dict = dict(zip(users, passwords))
    
    # 循环打印每个键值对,实现换行显示
    for username, password in user_pwd_dict.items():
        print(f"{username}: {password}")

user1()

代码改进说明

  • 用列表推导式简化了代码,同时直接把每行的换行符去掉,一步到位
  • with语句确保文件读取完成后自动关闭,不用手动写file.close()
  • 循环遍历字典的键值对打印,这样每个用户-密码组合都会单独占一行,不会显示\n转义字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:33:55