Python pathlib.Path-如何只获得平台无关的文件分隔符作为字符串?

问题描述 投票:0回答:1

我正在创建一个基于类而不同的格式字符串,该字符串用于通过通用类方法生成文件名。我正在使用Python 3.4+ pathlib.Path模块进行面向对象的文件I / O。

在构建此字符串时,缺少路径分隔符,而不仅仅是添加Windows版本,我想添加一个平台无关的文件分隔符。

我搜索了pathlib文档,并在此处对此进行了回答,但是所有示例均假设我正在构建Path对象,而不是字符串。 pathlib函数将在任何字符串输出中添加正确的分隔符,但是这些是实际路径-因此它将不起作用。

除了编写代码并对其进行解析以找出分隔符是什么技巧之外,还有没有办法直接获取当前正确的文件分隔符字符串?

[首选使用pathlib.Path的答案,而不是os或shutil软件包。

这是代码的样子:

在构造函数中:

    self.outputdir = Path('drive:\\dir\\file')
    self.indiv_fileformatstr = str(self.outputdir) + '{}_new.m'

在最终使用的方法中:

    indiv_filename = Path(self.indiv_fileformatstr.format(topic))

这省去了文件分隔符

python python-3.x filepath pathlib
1个回答
0
投票

首先,如果为了连接文件名而转换为字符串,则缺少pathlib的要点。

而不是:

self.indiv_fileformatstr = str(self.outputdir) + '{}_new.m'

您通常会做类似的事情:

self.indiv_fileformatpath = self.outputdir / '{}_new.m'
self.indiv_fileformatstr = str(self.indiv_fileformatpath)
© www.soinside.com 2019 - 2024. All rights reserved.