我一直在尝试用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()
如果您使用的是非Unix平台,则文件可能包含
\r\n
行终止符。尝试右剥离\r\n
并附加",a\r\n"
。你知道吗即使文件只包含
\n
行结束符,这种方法仍然有效,因此非常健壮。你知道吗您可以尝试不那么明确,让strip来完成跨平台解决方案的工作
或者试试这个
相关问题 更多 >
编程相关推荐