我正在研究应该记录不同类型条目的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
“最有效的方法”是否意味着将仅上传附加到文件本地副本的最后几行?还是指诸如所使用的协议之类的东西?