Как заставить остальную часть кода ждать, пока zipfile завершит компиляцию файлов - PullRequest
0 голосов
/ 20 февраля 2020

Итак, я пишу скрипт, который сжимает несколько файлов, а затем загружает zip-файл на диск Google. Мне удалось выполнить оба этих действия по отдельности, но когда я делаю их вместе, загрузка начинается до того, как файлы будут заархивированы.

# final part of the creating zip file process:
with zipfile.ZipFile(zipFileName+".zip", "w") as zf:
    for f in myFiles:
        zf.write(f)
        print(f)

# last part of the uploading process
file_name = (zipFileName+'.zip')
metadata = {'name': file_name,
            'mimeType': None
            }

res = DRIVE.files().create(body=metadata, media_body=file_name).execute()
if res:
    print('Uploaded "%s" (%s)' % (file_name, res['mimeType']))

Мое гипотетическое решение - заставить процесс zipfile ждать, но я не уверен как go об этом .. Я попытался прочитать документацию zipfile, но не смог найти ничего, что могло бы мне помочь.

1 Ответ

0 голосов
/ 20 февраля 2020

Это по сути то, что сработало для меня:

zipFileName = input("What do you want to call the zip file?: ")
try:
    zipTheFiles(zipFileName)
except:
    print("Failed to zip the files")
else:
    shipIt(zipFileName)

Я разделил код на две функции и поместил их в попытку, за исключением оператора else

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...