Python pathlib.Path - how do I get just a platform independent file separator as a string?
我正在创建一个基于类而不同的格式字符串,该字符串用于通过通用类方法生成文件名。我正在将Python 3.4 pathlib.Path模块用于面向对象的文件I / O。
在构建此字符串时,缺少路径分隔符,而不仅仅是添加Windows版本,我想添加一个平台独立的文件分隔符。
我搜索了pathlib文档,并在此处对此进行了回答,但是所有示例均假设我正在构建Path对象,而不是字符串。 pathlib函数将在任何字符串输出中添加正确的分隔符,但是这些是实际路径-因此它将不起作用。
除了编写诸如字符串并对其进行解析以找出分隔符之类的技巧外,还有没有办法直接获取当前正确的文件分隔符字符串?
更倾向于使用pathlib.Path而不是os或shutil软件包。
代码如下:
在构造函数中:
1 2 | self.outputdir = Path('drive:\\\\dir\\\\file') self.indiv_fileformatstr = str(self.outputdir) + '{}_new.m' |
在最终使用的方法中:
1 | indiv_filename = Path(self.indiv_fileformatstr.format(topic)) |
这省去了文件分隔符
但是首先您可能不需要它-如果将其转换为字符串以连接文件名,则会丢失
之类的方法,也不需要拆分。
而不是:
1 | self.indiv_fileformatstr = str(self.outputdir) + '{}_new.m' |
您通常会执行以下操作:
1 2 | self.indiv_fileformatpath = self.outputdir / '{}_new.m' self.indiv_fileformatstr = str(self.indiv_fileformatpath) |
与平台无关的分隔符位于
中