如何在不添加'\ n'的情况下附加到文件?

时间:2013-04-13 05:58:04

标签: python file-io

我正在阅读并附加到每次我的Python程序运行时正在打开和读取的文本文件。它基本上是一个字符串日志。 问题是,当我最初写入空白文件时,我必须包含action.write('\n'),以便在下一行打印下一个字符串。

但是,当我下次运行Python程序时读取文件时,它会读取“\ n”并将它连接到前一个元素,该元素将被添加到列表中。

这是基本上发生的事情:

pc = ["121", "343", "565", "787"]

with open(r"C:\tt.txt", "r+") as act:
   curr=[]

   for row in act:
      if row == '\n':
         pass
      else:
         curr.append(row)

   for i in pc:
      act.write(i)
      act.write("\n")

print curr

>> curr = ['121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n']

我真的很难过如何解决这个问题。

3 个答案:

答案 0 :(得分:5)

剥去线条:

for row in act:
    row = row.strip()
    if row:
        curr.append(row)

答案 1 :(得分:1)

只需删除每行中的最后一个字符

for row in act:
row = row[:-1]
if row:
    curr.append(row)

答案 2 :(得分:-2)

您可以使用

for line in open(somefile):
    line = line.strip()

用于删除尾随行结尾。