Python pathlib.Path 库总是从路径中删除最后一个文件夹并将其添加到创建文件的名称中

Python pathlib.Path library always cuts last folder from the path and adds it to the name of created file

问题来了,我有一些路径是这样的:

get_path = 'C:/Users/user1/Desktop/Files/File/1/category/UFF/'

然后我用它来“制造”它的获胜路径:

path = pathlib.Path(get_path)

所以现在每次我使用它时,在路径目录中创建一些其他文件,我的文件是在前缀为 UFF 的“类别”文件夹中创建的,所以文件名是:

category folder:

UFFNameFile1.xml
UFFNameFile2.xml

而不是

UFF folder:

NameFile1.xml
NameFile2.xml

创建文件我使用:

tree.write(str(path)+name+'.xml', encoding='utf-8', xml_declaration=True)

有人知道发生了什么事吗?

get_path 中的最后一个斜杠在传递给 Path 时被删除。您传递给 tree.write 的字符串正是您所看到的:'C:/Users/user1/Desktop/Files/File/1/category/UFFsomefilename.XML'

您可以按以下方式解决此问题:

path_out = path / f'{name}.xml'
tree.write(path_out.as_posix(), encoding='utf-8', xml_declaration=True)