Jackson上岸必行 2022-04-19 15:04 采纳率: 63.6%
浏览 48
已结题

求解答python问题

把test1.txt文件的每一行增加行号(从1开始)后拷贝到一个新的文件中test_new.txt中。
import re
with open('test1.txt', 'r', encoding='utf-8') as f:
lines =f.readlines() # 函数一次读取整个文本文件,但是将文本文件以行为单位将内容处理为一个关于行的列表。
for i in range(len(lines)):
lines[i] = re.sub(r'\d+.', '', lines[i]) # 去除文件中的原有的标号
lines=[str(index1)+"."+temp1.rstrip()+'\n' for index1,temp1 in enumerate(lines,start=128)] # start设置成你想要的开始序号
with open('test_new.txt', 'w', encoding='utf-8') as f:
f.writelines(lines)
这个代码哪里有问题?有没有新的解决办法?
test1.txt内容为:
北京
上海
重庆
输出后新内容为:
1:北京
2:上海
3:重庆
并且到新的文件test_new.txt中表现出来

  • 写回答

5条回答 默认 最新

  • keenanli 2022-04-19 15:16
    关注

    你的enumerate函数 start 设置的为128,按你的要求应该设置为1.

    with open('test1.txt', 'r', encoding='utf-8') as f:
        lines = f.readlines() 
        lines = [f"{idx}:{line.strip()}\n" for idx, line in enumerate(lines, start=1)] 
    with open('test_new.txt', 'w', encoding='utf-8') as f:
        f.writelines(lines)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月19日