开发过程中经常需要把数据传到服务器上,太麻烦了,为此本博文记录采用百度云来传输数据
百度云
使用bypy
包。
- 安装:
pip install bypy
- 配置bypy连接百度网盘:
- 终端输入bypy info
- 将命令行提示的链接复制到浏览器,并复制浏览器中的授权码,粘贴到终端并回车(注意是粘贴到终端)
可以看到百度云盘中出现了我的网盘/我的应用数据/bypy文件夹,该文件夹将是服务器与百度云盘间沟通的桥梁。因此,需要将下载的数据放在bypy文件夹中。
常用的命令如下
# 查看帮助
bypy --help
# 查看网盘文件
bypy list
# 下载文件或目录
bypy download [remotepath] [localpath]
# 上传文件或目录
bypy upload [localpath] [remotepath]
接下来要上传或者下载的资料都在此
Google Driver
采用wget的方式下载应该也可~
Google Drive的分享链接格式通常为:
https://drive.google.com/file/d/<fileid>/view
其中这个<fileid>
就是对应文件在服务器上的唯一标识符。
比如我要下载chair的数据集,它的链接是
https://drive.google.com/drive/folders/15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi
那么它的id应该是
15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi
而wget下载指令是
wget --no-check-certificate "https://drive.google.com/uc?export=download&id=${fileid}" -O ${filename}
wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=${fileid}' -O- | sed -rn 's/.confirm=([0-9A-Za-z_]+)./\1\n/p')&id=${fileid}" -O ${filename} && rm -rf /tmp/cookies.txt
下面一条是大文件,对于大文件需要cookie处理。这个数据算小文件,那么应该是
wget --no-check-certificate "https://drive.google.com/uc?export=download&id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi" -O chair.zip
下载成功了,但是打不开,试试大文件的链接吧~
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi" -O chair.zip&& rm -rf /tmp/cookies.txt
还是下载了加压不了
wget --no-check-certificate "https://docs.google.com/uc?export=download&id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi" -O chair.zip
改为用gdown
pip install gdown
gdown https://drive.google.com/uc?id=文件ID
gdown https://drive.google.com/uc?id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi
gdown https://drive.google.com/uc?id=15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi -O 文件名
gdown https://drive.google.com/drive/folders/15dS1fw45jvXOiDBqSWCC49w2x5OSyVTi?usp=drive_link -O chair.zip
但还是不行
找不出原因。。。感觉是分享的文件没有设置好,算了,百度网盘吧。。。
使用wget命令下载Google drive上的文件_ubuntu上wget下载谷歌云盘文件-CSDN博客
通过命令行从 Google Drive下载数据 | Curiousity Hub