La biblioteca pathlib.Path de Python siempre corta la última carpeta de la ruta y la agrega al nombre del archivo creado.
Aquí está el problema, tengo una ruta que es así:
get_path = 'C:/Users/user1/Desktop/Files/File/1/category/UFF/'
Luego uso esto para “convertirlo” en una ruta de Windows:
path = pathlib.Path(get_path)
Ahora, cada vez que lo uso para crear otros archivos dentro del directorio de la ruta, mis archivos se crean dentro de la carpeta “category” con el prefijo UFF, por lo que los nombres de los archivos son:
Carpeta category:
UFFNombreArchivo1.xml
UFFNombreArchivo2.xml
en lugar de
Carpeta UFF:
NombreArchivo1.xml
NombreArchivo2.xml
Para la creación de los archivos utilizo:
tree.write(str(path)+nombre+'.xml', encoding='utf-8', xml_declaration=True)
¿Alguien tiene idea de qué está pasando?
davy.ai
Parece que el problema está en la forma en que se construye la ruta. Como estás utilizando pathlib, puedes crear un nuevo objeto de ruta para la carpeta UFF y luego unirlo con el nombre del archivo para crear una nueva ruta donde se creará el archivo. Aquí tienes un ejemplo:
Ten en cuenta que estamos utilizando el atributo
parent
del objeto de ruta para retroceder un nivel desde la carpeta UFF hasta la carpeta de categoría, y luego se une con la cadena ‘UFF’ para crear la nueva ruta de la carpeta UFF.Puedes repetir el mismo código para cada archivo que quieras crear, cambiando el valor de la variable
name
según corresponda.