2011-09-22 32 views
12

Ho due cartelle: In, Out - non è la cartella di sistema sul disco D: - Windows 7. Out contiene "myfile.txt" Corro il seguente comando in python:Python. IOError: [Errno 13] Autorizzazione negata: quando sto copiando il file

>>> shutil.copyfile(r"d:\Out\myfile.txt", r"D:\In") 

Traceback (most recent call last): 
    File "<pyshell#39>", line 1, in <module> 
    shutil.copyfile(r"d:\Out\myfile.txt", r"D:\In") 
    File "C:\Python27\lib\shutil.py", line 82, in copyfile 
    with open(dst, 'wb') as fdst: 
IOError: [Errno 13] Permission denied: 'D:\\In' 

Qual è il problema?

+0

Utilizzando esploratore posso fare la copia di myfile.txt a In cartella –

risposta

35

Leggi l'docs:

shutil.copyfile(src, dst)

Copy the contents (no metadata) of the file named src to a file named dst. dst must be the complete target file name; look at copy() for a copy that accepts a target directory path.

+0

ho provato 'shutil.copy' ma ancora, di fronte allo stesso errore. – pyd

7

uso shutil.copy invece di shutil.copyfile

esempio:

shutil.copy(PathOf_SourceFileName.extension,TargetFolderPath) 
-3

bene le questionis vecchio, per nuovo visualizzatore di Python 3.6 utilizzare

shutil.copyfile("D:\Out\myfile.txt", "D:\In") 

invece di

shutil.copyfile(r"d:\Out\myfile.txt", r"D:\In") 

r argomento viene passato per la lettura di file non per copiare

+0

Questa risposta è sbagliata. 'r' significa _raw stringa_, il che significa che un" \ "all'interno della stringa significa letteralmente" \ "e non ha bisogno di essere sfuggito. –

Problemi correlati