gpt4 book ai didi

python - 如何在没有 file.close() 语句的情况下在运行 python 进程中刷新文件写入缓冲区?

转载 作者:行者123 更新时间:2023-11-30 22:26:39 25 4
gpt4 key购买 nike

我有一个正在后台 Python 3.5 进程中写入的文件。文件是在此过程中打开的(基本上是一个正在运行的 Python 脚本),但我忘记包含文件关闭语句以偶尔在该脚本中刷新缓冲区。该脚本是无限的,除非手动结束,并且我(现在)知道终止 python 进程将导致缓冲区中的所有数据丢失。无论如何,有没有办法恢复要在这个已经运行的进程中写入的数据?

最佳答案

As per the docs

first do f.flush(), and then do os.fsync(f.fileno()), to ensure that all internal buffers associated with f are written to disk.

这是一个例子,

import os

with open("filename", "w") as f:
while True: # infinite program
f.write("the text")
f.flush()
os.fsync(f.fileno())

关于python - 如何在没有 file.close() 语句的情况下在运行 python 进程中刷新文件写入缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47172068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com