将我的程序结果保存到.txt文件应该非常简单,但是当我这样做时会发生一些奇怪的事情。首先,虽然终端打印结果只需要几秒钟,但我的结果需要几分钟才能写入.txt文件。此外,当我打开文本文件时,它没有正确保存在shell上打印的所有信息!而不是我的完整结果,我得到“54313806']”作为第一行,然后只有我的结果的最后一位保存到下面的文本文件。我的结果在终端中正常显示。
我检查了其他查询以了解如何将结果保存在文本文件中,所以这就是我所拥有的:
queue2[back] = item
对发生的事情有什么看法?或者我应该尝试找到另一种方法将输出保存到文本文件中?
这是我的完整代码:
with open("output.txt", "w+") as output:
subprocess.call["python", "./my_program.py"], stdout=output)
答案 0 :(得分:1)
我不认为以这种方式从内部递归调用你的程序是一个好主意......你可能会产生无限的子进程。我会忘记subprocess
位并简单地写入这样的文件:
with open("output.txt", "w+") as output:
kiwis = []
for elem in l:
kiwis.append(elem.strip().split(' '))
for kiwis in kiwis:
data = kiwis[0:3] #extracting first three elements from every line
output.write(data)