google colab - 同步下载文件

google colab - Download files synchronously

提问人:Priyansh Yadav 提问时间:2/14/2023 更新时间:2/14/2023 访问量:417

问:

我正在使用此代码片段从 google colab 下载文件:

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

但输出是

done
Downloading "california_housing_train.csv"

下载功能是异步的。这可能看起来不多,但实际上该函数是在循环中运行的,因此在开始下载后,在下一次迭代开始时会调用一些外部库并清除输出。另外,我已经测试过很多次,如果在下载文件之前清除输出,它将不会下载。

另外,请不要建议从文件菜单下载它。会有很多文件,所以它必须以编程方式进行。另外,请不要建议以编程方式压缩然后从文件浏览器下载的方法,因为我必须在每次迭代后下载文件 bcz 我正在使用 colab 的“你还在那里吗”的解决方法,但它仍然认为我的会话空闲和删除的运行时,所有文件都丢失了。

先谢谢你。对于任何语法错误,我们深表歉意。

编辑:

我也尝试过使用睡眠方法,但这不起作用,因为有时文件需要更多时间来加载,尽管与文件大小相比,互联网连接非常好。保持非常高的 sleep() 值并不好,因为它不是最好的方法。不过,如果我找不到其他东西,我将只使用 sleep()。

python jupyter-notebook google-colaboratory

评论


答:

0赞 Priyansh Yadav 2/14/2023 #1

好的,所以我找到了一个临时解决方法,它不是完全可编程的,在执行整个程序之前由于不活动而删除运行时的情况下可能需要手动下载。

因此,我的想法是在运行时挂载 google drive,并在每次执行后将文件复制到 google drive 中的文件夹中。最后,将文件夹压缩到驱动器中,然后通过 下载。如果运行时无法执行整个代码并且过早死亡,则Google云端硬盘中的文件夹将保持不变,而不是在运行时被销毁时被删除,因此我们可以从Google云端硬盘手动下载该文件夹。files.download(path to drive zip)

如果其他人有更好的解决方案,请告诉我。