Код: Выделить всё
response = requests.get("https://api.github.com/repos/...releases/latest")
latestVersion = response.json()["tag_name"]
Моя идея — зарегистрировать функцию atexit, которая запускает другой скрипт Python (updateloader.exe) в качестве подпроцесса, который загружает новую версию с GitHub и копирует ее в папку file1.exe (перезаписывает file1.exe):
file1:< /p>
Код: Выделить всё
...
atexit.register(updateloader)
sys.exit()
...
def updateloader():
subprocess.run("updateloader.exe")
Код: Выделить всё
...
shutil.copytree("C:\Users\xy\Downloads\file1.exe", "C:\Users\xy\folder\file1.exe", dirs_exist_ok=True)
('C:\Users\xy\Downloads\file1.exe', 'C:\Users\xy\folder\file1. exe', '[WinError 32] Процесс не может получить доступ к файлу, поскольку он используется другим процессом'). Если я закрываю file1.exe вручную и запускаю updateloader.exe, дерево копирования работает без ошибок.
Есть ли у кого-нибудь решение этой проблемы? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/784 ... le-because