如何使用Python删除文件每一行末尾的9个字符,仅保留用户名和密码
解决方案
以下方案完全匹配你删除每行末尾9个字符的需求,同时提供更鲁棒的兼容方案应对后续格式变动。
方案1:小文件全量处理(操作简单)
适合文件体积不大的场景,代码逻辑简洁:
# 读取原文件所有行 with open("你的原文件路径.txt", "r", encoding="utf-8") as f: lines = f.readlines() # 逐行删除末尾9个字符,保留换行符维持格式 processed = [line[:-9] + "\n" for line in lines] # 写入新文件,确认无误后也可以直接覆盖原文件 with open("处理后文件路径.txt", "w", encoding="utf-8") as f: f.writelines(processed)
方案2:大文件逐行处理(低内存占用)
如果文件体积超过内存可承载范围,用逐行读写的方式处理:
with open("你的原文件路径.txt", "r", encoding="utf-8") as in_file, \ open("处理后文件路径.txt", "w", encoding="utf-8") as out_file: for line in in_file: out_file.write(line[:-9] + "\n")
鲁棒兼容方案(不依赖固定长度)
如果后续日期格式可能变动(比如变为dd/mm/yyyy长度变化),可以按冒号分割取前两部分,不用关心末尾长度:
with open("你的原文件路径.txt", "r", encoding="utf-8") as in_file, \ open("处理后文件路径.txt", "w", encoding="utf-8") as out_file: for line in in_file: parts = line.strip().split(":") out_file.write(f"{parts[0]}:{parts[1]}\n")
注意事项
- 操作前建议先备份原文件,避免误操作导致数据丢失
- 若你的文件编码不是utf-8,将代码中
encoding参数替换为对应编码即可(比如Windows常用的gbk) - 如果处理后出现多余空行,可去掉代码里手动添加的
\n,适配你的原文件换行规则
内容的提问来源于stack exchange,提问作者vampierss
相关产品推荐
相关产品推荐

