Переместить файл в Python с использованием только что измененного shutil - PullRequest
1 голос
/ 27 февраля 2020

Я написал Python скрипт, который вызывает подпроцесс, который создаст файл:

subprocess.run(["youtube-dl.exe", "-o " + fileName, link])

После этого я хотел бы переместить мой файл в другой каталог:

shutil.copy("C:\\Users\\***\\Desktop\\m2.m4a", "C:\\Users\\***\\Desktop\\Songs\\m2.m4a")

Но это дает мне следующую ошибку: FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'C: \ Users \ *** \ Desktop \ m2.m4a' Но файл определенно существует. Я попытался переместить файл, который не только был изменен, и он работает. В случае, если Windows требуется время для правильного создания файла, я приостановил код после создания файла и перед командой shutil.move:

time.sleep(4)

Но это все равно не работает. Возможно, потому что подпроцесс все еще работает и shutil не может получить доступ к файлу в то же время? Или потому что Python не знает, что новый файл только что создан? Спасибо за вашу помощь!

...