python google colab -同步下载文件

k10s72fa  于 2023-02-15  发布在  Python
关注(0)|答案(1)|浏览(208)

我正在使用这个代码片段从谷歌colab下载文件:

from google.colab import files
files.download("sample_data/california_housing_train.csv")
print("done")

但是输出是

done
Downloading "california_housing_train.csv"

下载函数是异步的。这可能看起来不多,但实际上函数是在循环中运行的,所以在开始下载后,一些外部库会在下一次迭代开始时被调用,它会清除输出。此外,我已经测试过很多次,如果输出在文件下载前被清除,它将不会下载。
另外,请不要建议从文件菜单下载。将会有很多文件,所以必须通过编程。另外,请不要建议通过编程压缩,然后从文件浏览器下载的方法,由于我必须在每次迭代后下载文件bcz,因此我使用colab "你还在吗"的变通方案但它仍然认为我的会话空闲和删除的运行时和所有文件丢失。
先谢谢你。抱歉有语法错误。
编辑:
我也尝试过使用睡眠方法,但没有工作,因为有时文件需要更多的时间来加载,尽管非常非常好的互联网连接相比,文件的大小。保持非常高的值睡眠()是不好的,因为它不是最好的方式。仍然,如果我发现没有别的我会只使用睡眠()。

odopli94

odopli941#

好的,所以我找到了一个临时的解决方案,它不是完全可编程的,可能需要手动下载的情况下,运行时被删除,由于不活动之前执行整个程序。
所以,我的想法是在运行时上挂载google drive,并在每次执行后将文件复制到google drive中的一个文件夹中。最后将驱动器中的文件夹压缩并通过files.download(path to drive zip)下载。如果运行时无法执行整个代码并过早死亡,google drive中的文件夹将保持不变,而不会在运行时被销毁时被删除。所以我们可以去手动下载文件夹从谷歌驱动器。
如果还有人有更好的解决办法,请告诉我。

相关问题