我正在阅读并附加到每次我的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']
我真的很难过如何解决这个问题。
答案 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()
用于删除尾随行结尾。