python - 在文件的行之间插入星号
问题描述
我试图在文件的行之间放置星号,我试图在每行的末尾获取句柄的位置并开始写入,但结果在文件末尾插入了星号。谁能解释为什么会这样?
with open('exercise3.txt','r+') as file:
lines = file.readlines()
file.seek(0)
for i in range(len(lines)-1):
line = file.readline()
oldpos = file.tell()
file.write('\n' + 20*'*' + '\n')
file.seek(oldpos)```
解决方案
您可以简单地阅读所有行并在它们之间添加 *,如下所示:
file = open("file.txt", "r")
lines = file.readlines() //This will return a list of lines
newFileLines = []
//Go trough indexes of lines if index%2 != 0: //Check if its even or odd index(if odd, add the line, if even, add stars -> first line, will be added, second index, will add "*" adn the next line and so on)
for index in range(len(lines)):
newFileLines.append(20*"*" + "\n")
newFileLines.append(lines[index])
file.close()
file = open("newFile.txt", "w")
file.writelines(newFileLines)
file.close()
推荐阅读
- vba - 在 Sheets.Copy 之后保存而不使用 ActiveWorkbook
- liquibase - Liquibase SQL 到 XML 生成器
- python - 函数参数 - 澄清
- knockout.js - 将替换器传递给淘汰赛 ko.mapping.toJSON
- macos - 错误消息:U 盘上的“电子框架:文件太短”
- scala - 将数据框列中的空值替换为其他数据框中的值 wrt 到 id
- python - 姜戈;当我尝试提交无效数据时,POST 请求不起作用
- javascript - JQuery DatePicker 无效日期
- javascript - 计算和删除嵌套数组中的多个元素
- c# - ASP.NET Web API - 尝试传递参数时不支持 GET HTTP Verb (405)