0

我正在阅读并附加到一个文本文件,每次我的 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']

我真的很困惑如何解决这个问题。

4

3 回答 3

5

剥离线条:

for row in act:
    row = row.strip()
    if row:
        curr.append(row)
于 2013-04-13T06:00:18.547 回答
1

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

for row in act:
row = row[:-1]
if row:
    curr.append(row)
于 2013-04-13T07:08:53.657 回答
-2

您可以使用

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

用于删除尾随行结尾。

于 2013-04-13T06:00:26.260 回答