Как скопировать папку в ограниченное место с помощью shutil Python 3? - PullRequest
0 голосов
/ 24 апреля 2020

Мой скрипт загрузите и распакуйте пакет android -tools. Мне нужно скопировать-вставить (или переместить) распакованную папку android -tools в папку C: \ Program Files \ Android.

Я пишу этот код:

import os
import shutil
import zipfile
import wget
import logger

print("We will try now to download Android Tools.")
wget.download('https://dl.google.com/android/repository/platform-tools-latest-windows.zip','android_tool.zip')
print("Downloaded! We will try now to unzip the Android Tools.")
with zipfile.ZipFile('android_tool.zip', 'r') as zip_ref:
    zip_ref.extractall('android_tools_folder')
    #if platform_architecture == "64bit":
    dirpath = os.getcwd()
    source=dirpath + "\\android_tools_folder\platform-tools"
    destination32="C:\\Program Files (x86)\\Android"
    destination32platform_tools="C:\\Program Files (x86)\\Android\\platform-tools\\"
    destination64 = "C:\\Program Files\\Android"
    destination64platform_tools = "C:\\Program Files\Android\\platform-tools\\"


if os.path.isdir(destination64):
    if os.path.isdir(destination64platform_tools):
        print(f"Folder destination64 was found")
        dest = shutil.copy(source, destination64platform_tools)
        shutil.rmtree('android_tools_folder')

    else:
        print(f"Folder destination64 was found")
        dest = shutil.copy(source, destination64)
        shutil.rmtree('android_tools_folder')

else:
    print(f"Folder destination64 was NOT found")
    dest = shutil.move(source, destination64)

Но я получаю эту ошибку:

Traceback (most recent call last):
  File "C:/Users/User/Documents/Python/Phonebot-with-lock/test1.py", line 24, in <module>
    dest = shutil.copy(source, destination64platform_tools)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\shutil.py", line 248, in copy
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\shutil.py", line 120, in copyfile
    with open(src, 'rb') as fsrc:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\User\\Documents\\Python\\Phonebot-with-lock\\android_tools_folder\\platform-tools'

Поэтому я искал решения: - написать точный путь => Я сделал, и у меня та же проблема.

  • чтобы запустить мою IDE (Pycharm) от имени администратора => я сделал, и у меня та же проблема.

  • пробовал с shutil.copytree => У меня есть эта проблема .

    FileExistsError: [WinError 183] Невозможно создать существующий файл: 'C: \ Program Files \ Android \ platform-tools \'

  • пробовал с shutil .move => b У меня есть эта проблема:

Destination path 'C:\Program Files\Android\platform-tools' already exists

Я прочитал do c, и я не вижу никакой возможности. Я не понимаю, что я делаю неправильно.

Может ли кто-нибудь помочь мне выполнить эту простую задачу: переместить папку в 'C: \ Program Files \ Android'

Спасибо

...