Используйте PyDrive для добавления данных в файл - PullRequest
0 голосов
/ 20 января 2019

Я работаю над приложением Python, которое должно регистрировать различные типы записей. Формат файла журнала: JSON Lines http://jsonlines.org/. Если сценарий обнаруживает соединение Wi-Fi, он обновляет файл, загружая его с помощью PyDrive (весь процесс аутентификации здесь опущен, но полностью функционален).

SetContentFile(filename)
Upload()

Скрипт работает на Pythonista на моем iPhone SE. Я установил PyDrive через pip, который получил благодаря StaSh https://github.com/ywangd/stash. Прямо сейчас файл, который я загружаю / обновляю, невелик, так как в нем всего несколько строк, однако мне пришло в голову, что в будущем, когда размер этого файла журнала составит 2 ГБ (скажем, число), загрузка / обновление Процесс займет слишком много времени.

Приложение ничего не делает, кроме добавления строк к файлу.

Можно ли просто добавить новые строки в файл, хранящийся на серверах Google, вместо загрузки / обновления всего файла? Нужно ли извлекать некоторые метаданные из файлов (локальных и дисков) и указывать их в качестве параметра для какой-либо функции? (SetContentFile() кажется, не принимает дополнительные параметры)

Я не нашел в документах функцию с именем, похожим на append() https://pythonhosted.org/PyDrive/filemanagement.html.

Однако я нашел следующее утверждение, которое я не до конца понимаю:

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

Означает ли "самый эффективный метод", что будут загружены только последние строки, добавленные к локальной копии файла? Или это относится к чему-то, например к используемому протоколу?

...