尝试构造具有“。”的文件路径时,pathlib出现问题。以其名称,pathlib模块将忽略它。
这是示例行(我尝试了多个版本,都导致了相同的问题)
问题在于原始文件名将来自另一个应用程序,因此这不是我自己可以编辑的名称。如果可能的话,我也不想做字符串替换工作。
path = r“ c:\ temp”
p=Path(path).joinpath("myfile.001").with_suffix(".bat")
p=Path(path, "myfile.001").with_suffix(".bat")
p=Path(path).with_name("myfile.001").with_suffix(".bat")
所有这些行将屈服于
WindowsPath('C:/temp/myfile.bat')
因此,如何使pathlib.Path正确构建此完整路径。最终路径必须是
WindowsPath('C:/temp/myfile.001.bat')
不
WindowsPath('C:/temp/myfile.bat')
自然,我正在寻找一种通过pathlib
自身完成此操作的方法,否则我只能使用os。
谢谢
您要告诉pathlib用后缀替换.001
后缀.bat
。pathlib符合。
告诉pathlib添加.bat
到现有后缀。
p = Path(path, 'myfile.001')
p = p.with_suffix(p.suffix+'.001')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句