把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中表现出来
求解答python问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用