我正在尝试将一些数据从Colab笔记本中写入到Google云端硬盘中的文件中。我使用int 0x81
功能安装了驱动器。之后,我有一个循环,该循环每drive.mount('/content/drive')
次迭代写入文件,实现方式如下:
n
我注意到,如果for i in range(BIG):
# Do something...
if i % n == 0:
with open(gdrive_file_path, "w") as f:
f.write("Some message")
不够大(例如n
),则内容将不会更新,并且在循环结束后会覆盖文件。如果n=10
较大(尝试n
),则可以看到更改。我假设n=100
需要一些操作时间才能完成工作,但是我无法找到一种方法来确保在不停止循环的情况下更新驱动器文件。我希望colab.drive
和f.flush()
可以有所帮助,但是没有任何改善,调用os.fsync(f)
方法会导致在循环终止之后写入空内容。有什么方法可以强制完整且成功的频繁文件上传?
感谢帮助!