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)
问题来了,我有一些路径是这样的:
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)