我试着用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()

最佳答案

您可以尝试不那么明确,让strip为跨平台解决方案做工作

...
for line in source:
    destination.write(line.strip() + ",a\n"))

或者试试这个,
for line in source.readlines()
    destination.write(line + ",a\n"))

10-08 07:35
查看更多