Estoy tratando de aprender Python y estoy haciendo un programa que generará un script. Quiero usar os.path.join, pero estoy bastante confundido. De acuerdo con la docs si digo:Python os.path.join en Windows
os.path.join('c:', 'sourcedir')
me sale "C:sourcedir"
. Según los documentos, esto es normal, ¿verdad?
Pero cuando se utiliza el comando copytree, Python es la salida de la manera deseada, por ejemplo:
import shutil
src = os.path.join('c:', 'src')
dst = os.path.join('c:', 'dst')
shutil.copytree(src, dst)
Aquí es el código de error que consigo:
WindowsError: [Error 3] The system cannot find the path specified: 'C:src/*.*'
Si envuelvo la os.path.join
con os.path.normpath
obtengo el mismo error.
Si este os.path.join
no se puede utilizar de esta manera, entonces no estoy seguro de su propósito.
De acuerdo con las páginas sugeridas por Stack Overflow, no se deben usar barras en la unión — que es correcta, supongo?
os.path.join ('C: /', 'sourcedir') funcionó como se esperaba. que muchas gracias :) buen señor los demás '//' 'c:' 'C: \\' no funcionaba (C: \\ creó dos barras invertidas, C: \ no lo hizo trabajo en absoluto) Gracias de nuevo ghostdog74, Smashery y Roger Pate. Estoy en deuda contigo :) –
Lo sentimos, los saltos de línea no se mantuvieron en el comentario, parece muy desordenado –