Я новичок в Google Drive API и пишу простейшую форму сценария, который автоматически загружает изображение с локального диска на диск Google, затем, как только это изображение загружено, удалите локальную копию, вот что я получил :
#%%
import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from googleapiclient.http import MediaFileUpload
g_login = GoogleAuth()
g_login.LocalWebserverAuth()
drive = GoogleDrive(g_login)
#%%
header = 'images/dice'
path = header + str(i) + '.png'
file = drive.CreateFile()
file.SetContentFile(path)
file.Upload()
if file.uploaded:
print("test")
os.remove(path)
однако при попытке удаления локальной копии возникает следующая ошибка:
PermissionError: [WinError 32] Процесс не может получить доступ к файлу, поскольку он используется другим процессом: 'images / dice1.png'
Я искал его, думая, что это может быть SetContentFile (путь), где он не закрывал файл после Upload (), что в соответствии с
https://gsuitedevs.github.io/PyDrive/docs/build/html/pydrive.html
он должен автоматически закрыться после загрузки.
Что я здесь наблюдаю?
Примечание. В конце я хочу использовать al oop, что go, для всех файлов в каталоге.
Это вывод:
1
test
---------------------------------------------------------------------------
PermissionError Traceback (most recent call last)
<ipython-input-21-2aeb578b5851> in <module>
9 if file.uploaded:
10 print("test")
---> 11 os.remove(path)
12
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'images/dice1.png'
![enter image description here](https://i.stack.imgur.com/ffnuz.png)