使用PyDrive将数据附加到文件

时间:2019-01-20 18:38:45

标签: python python-3.x google-drive-api pydrive pythonista

我正在研究应该记录不同类型条目的Python应用程序。日志文件的格式为JSON行http://jsonlines.org/。如果脚本检测到Wi-Fi连接,它将更新文件,并使用PyDrive上传文件(此处省略了所有身份验证过程,但功能齐全)。

SetContentFile(filename)
Upload()

该脚本在我的iPhone SE上的Pythonista上运行。我通过pip安装了PyDrive,这要感谢StaSh https://github.com/ywangd/stash。 目前,我正在上传/更新的文件并不大,因为它只有几行,但是我想到将来,当该日志文件的大小为2GB(要说一个数字)时,上传/更新过程将花费太多时间。

该应用程序只对文件执行追加行。

是否可以仅将新行添加到存储在Google服务器上的文件中,而不是上传/更新整个文件?我是否需要从文件(本地文件和云端硬盘)中获取一些元数据,并将其指定为某些功能的参数? (SetContentFile()似乎不需要额外的参数)

在文档https://pythonhosted.org/PyDrive/filemanagement.html中找不到与append()类似的函数。

但是,我确实发现了以下我不完全理解的主张:

Upload(param=None) 
   **Upload/update file by choosing the most efficient method.**
   Parameters:  param (dict.) – additional parameter to upload file.
   Raises:  ApiRequestError

https://pythonhosted.org/PyDrive/pydrive.html#pydrive.files.GoogleDriveFile.SetContentFile

“最有效的方法”是否意味着将仅上传附加到文件本地副本的最后几行?还是指诸如所使用的协议之类的东西?

0 个答案:

没有答案