Я работаю над приложением 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
Означает ли "самый эффективный метод", что будут загружены только последние строки, добавленные к локальной копии файла? Или это относится к чему-то, например к используемому протоколу?