【问题标题】:Uploaded a File succesfully on google drive using Python with PyDrive but File is damaged使用 Python 和 PyDrive 在谷歌驱动器上成功上传文件,但文件已损坏
【发布时间】:2019-12-06 05:43:17
【问题描述】:

我正在尝试使用 Python(Pydrive) 将文件从我的计算机上传到谷歌驱动器,它已成功上传但已损坏并且其大小变为 0kb。

这是我的代码:

drive = GoogleDrive(gauth)
import glob, os
with open('C:\\Users\\New\\Pictures\\Screenshots\\older\\Screenshot.png', 'r') as file:
          fn = os.path.basename(file.name)
          file_drive = drive.CreateFile({"title": fn })
file_drive.Upload()
print('The file: ' + fn + ' has been uploaded')
print('Successful')

我做错了什么?我已经完成了认证部分,并且认证成功。

我已经检查了与此相关的答案,但没有得到我正在寻找的答案。

【问题讨论】:

  • 文件大小?蟒蛇版本? Pydrive 版本?
  • 看到您在 Windows 上,也许您应该使用'rb' 打开?即open(somepath, 'rb')
  • @RMPR 文件大小为 131 KB。
  • @JustinEzequiel 我试过了,但没用,我的意思是文件被上传了,但它被损坏了。

标签: python-3.x pydrive


【解决方案1】:
  • 您想使用带有 python 的 pydrive 将 C:\\Users\\New\\Pictures\\Screenshots\\older\\Screenshot.png' 的文件上传到 Google Drive。
  • 您已经可以使用 Drive API。

如果我的理解是正确的,那么这个修改呢?

修改点:

  • 在您的脚本中,没有给出文件内容。

修改脚本:

请按如下方式修改您的脚本。

从:
with open('C:\\Users\\New\\Pictures\\Screenshots\\older\\Screenshot.png', 'r') as file:
          fn = os.path.basename(file.name)
          file_drive = drive.CreateFile({"title": fn })
file_drive.Upload()
到:
f = 'C:\\Users\\New\\Pictures\\Screenshots\\older\\Screenshot.png'  # Added
with open(f, 'r') as file:  # Modified
          fn = os.path.basename(file.name)
          file_drive = drive.CreateFile({"title": fn })
file_drive.SetContentFile(f)  # Added
file_drive.Upload()

参考资料:

如果这不是你想要的方向,我很抱歉。

【讨论】:

  • 这实际上对我有用,现在我可以看到图像了。谢谢。
  • @ankur singh 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 2018-07-28
  • 2020-12-18
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多