En Windows, puede utilizar algo similar lo que se muestra en la respuesta aceptada a la pregunta: Python, get windows special folders for currently logged-in user.
Por el camino My Documents
carpeta, utilice shellcon.CSIDL_PERSONAL
en la llamada de función en lugar de shell.SHGetFolderPath()
shellcon.CSIDL_MYPICTURES
.
Así, suponiendo que tiene las extensiones pywin32 instalado, este podría trabajo (véase advertencia en la sección de actualización más adelante):
>>> from win32com.shell import shell, shellcon
>>> shell.SHGetFolderPath(0, shellcon.CSIDL_PERSONAL, None, 0)
u'<path\\to\\folder>'
actualización: acabo de leer something que dice que CSIDL_PERSONAL
no devolverá la carpeta correcta si el usuario ha cambiado la carpeta de guardar predeterminada en la biblioteca de documentos Win7. Esto se refiere a lo que puede hacer en el diálogo Propiedades de la biblioteca:
La marca de verificación significa que el camino se establece como la ubicación de almacenamiento predeterminada.
Actualmente estoy unware de una forma de llamar a la función SHLoadLibraryFromKnownFolder()
través pywin32 (en la actualidad no es una shell.SHLoadLibraryFromKnownFolder
. Sin embargo, debería ser posible hacerlo usando el módulo ctypes
.
instaladores para el versiones más recientes del pitón para las extensiones de Windows están disponibles actualmente a partir de: http://sourceforge.net/projects/pywin32
Es mejor usar una barra inclinada en la ruta: ''~/filename''. De lo contrario, obtendrás resultados inesperados para cosas como ''~ \ name'', donde el' \ n' será reemplazado por un carácter de nueva línea. –
hey! funcionó. ¡Gracias! –
@Sven - No estaba seguro. No uso Windows, no estoy seguro de cómo Python maneja los delimitadores de ruta de Windows. En Windows – Joe