我正在通过SSH在远程服务器上运行python脚本。该脚本创建一个新文件,并向其中写入一些数据。我在while True
块中完成。当我杀死python进程时,我的输出文件为空。如何将数据保存到输出文件?
当我使用 CTRL + C 时,文件将保留所有数据。但是我不能使用这种组合,因为我在远程计算机上运行脚本,并且可能会失去连接。另外,如果停止SSH连接,我会为该脚本运行多长时间感到困惑。
with open('out/' + filename, 'a') as f:
while True:
r = get_updates()
f.write(r.text)
time.sleep(10)
答案 0 :(得分:1)
write
仅将要写入的输出排队。操作系统完全决定何时实际写入文件。如果要确保它确实到达文件,还应该显式刷新它:
with open('out/' + filename, 'a') as f:
while True:
r = get_updates()
f.write(r.text)
f.flush()
time.sleep(10)