2015-09-04 2 views
0

Я хочу скопировать переместить некоторые файлы с ПК на USB, но, когда я запускаю его он говорит:Как я могу запустить код питона с правами администратора

WindowsError: [Error 5] Access denied: 'F:\\'

Как я могу использовать права администратора в python, чтобы избежать этой ошибки. Кроме того, вот код:

import os 
import shutil 
from os import walk 

ruta='C:\\' 
final='F:\\' 
for (path,ficheros,archivos) in walk(ruta): 
    for i in archivos: 
     shutil.copytree(ruta,final) 
    for i in ficheros: 
     shutil.copytree(ruta,final) 
+5

Как вы работаете в этом коде? Вы попытались щелкнуть правой кнопкой мыши -> Запуск от имени администратора? – jonrsharpe

ответ

0

Некоторые пункты отметить:

  1. shutil.copytree() будет уже сделать рекурсивную копию файла. Для получения каждого отдельного файла нет необходимости использовать os.walk. Ниже будет все, что нужно:

    shutil.copytree('C:\\', 'F:\\')

  2. Попытка скопировать весь ваш C: диск к USB, возможно, не в состоянии в какой-то момент, как некоторые из файлов и папок не будет копируемыми. Было бы лучше выбрать определенные папки.

  3. При попытке установить адрес корневой папки на USB-накопителе вы получите сообщение об ошибке Access denied. Также вам нужно убедиться, что целевой каталог не существует. Попробуйте следующее:

    shutil.copytree('C:\\', 'F:\\c_drive')

  4. Наконец, делая полную копию, как это будет, вероятно, займет много времени, и не будет никакой обратной связи о том, как быстро она развивается. Ваша идея использовать os.walk решила бы это, разрешив вам просто скопировать файл за раз, но для этого кода потребуется исправление.

1

Простым решением является просто запуск процесса Python в качестве администратора. В зависимости от того, как вы запускаете скрипт, есть разные способы сделать это. Самое простое решение - просто запустить консоль как администратор, а затем запустить команду Python.

Если вы хотите что-то дважды щелкнуть, вы также можете создать ярлык и запустить его, выбрав «Запуск от имени администратора» в контекстном меню (меню правой кнопки мыши).

В противном случае вы также можете сделать запрос сценария с повышенными разрешениями in some not-so-simple way.

Смежные вопросы