shutil.copy en python

Iniciado por desnight, 20 Marzo 2008, 20:11 PM

0 Miembros y 1 Visitante están viendo este tema.

desnight

Es que estuve probando este módulo lo he puesto así:

Código (python) [Seleccionar]

import shutil

src = 'C:\Archivos'
dst = 'C:\windows\copia de archivos'

shutil.copy(src, dst)


Me da error y me pone:

Traceback (most recent call last):
  File "C:\Documents and Settings\fran2\Escritorio\nuevo.py", line 7, in <module>
    shutil.copy(src, dst)
  File "C:\Python25\lib\shutil.py", line 80, in copy
    copyfile(src, dst)
  File "C:\Python25\lib\shutil.py", line 46, in copyfile
    fsrc = open(src, 'rb')
IOError: [Errno 13] Permission denied: 'C:\\Archivos'



¿Por qué puede ser?Gracias de antemano.

Saludos
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

knello

Pues creo que es porque al usar diagonal invertida dentro de un string  esta funciona para escapar código por ejemplo \n se convierte en nueva linea, \t en tab, etc.
si deceas usar una backslash dentro de un string debes escaparla a sí  mismo de otra manera se interpretará como si quisieras escapar el caracter consecuente:

Código (python) [Seleccionar]
#Ejemplo:
'C:\\Archivos'

#o bien usar una raw string, que es una string sin escapes:
r 'C:\Archivos'

desnight

Me sigue poniendo lo mismo no se que puede ser.

Saludos
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.