我一直在尝试用 python 重写一个文本文件,在那里我进入一个文件,抓取每一行,在该行上附加一个额外的字符串,然后将新附加的行重写到文本文件中。我遇到的问题是这个新构建的文本文件格式不正确。该文件包含行,其中每行包含三个数字,以逗号分隔。如果我的文件如下所示:
57.88, 58.45, 45.31
57.88, 58.45, 45.31
57.88, 58.45, 45.31
我想将字符“a”添加到行中,然后我需要文件看起来像这样:
57.88, 58.45, 45.31, a
57.88, 58.45, 45.31, a
57.88, 58.45, 45.31, a
相反,像这样的文件格式(当我在 emacs 和 gedit 中打开它时)
57.88, 58.45, 45.31
,a
57.88, 58.45, 45.31
,a
57.88, 58.45, 45,31
,a
有趣的是,无论文件的格式如何,行数仍然是相同的 (3)。我对此感到非常困惑和有些沮丧。下面是我用来重写文件的代码。我的python技能真的是按需学习,所以可能有一些我没有听说过的明显的python函数需要使用。基本上,一旦我确定文件路径存在,我就会调用一个重写子例程,如下所示:
def getLines(filePath):
move(filePath, filePath+"~")
destination = open(filePath, "w")
source = open(filePath+"~", "r")
for line in source:
destination.write(line.strip("\n") + ",a\n"))
source.close()
destination.close()