python 文件名 路径_在Python中构建完整路径文件名

小编典典

这很好用:

os.path.join(dir_name, base_filename + "." + filename_suffix)

请记住,这种os.path.join()存在仅是因为不同的操作系统使用不同的路径分隔符。它可以消除这种差异,因此跨平台代码不必因每种操作系统的特殊情况而混乱。无需对文件名“扩展名”执行此操作(请参见脚注),因为在每个OS上,它们始终以点字符连接到名称的其余部分。

如果仍然使用函数会让您感觉更好(并且您喜欢使代码不必要地复杂化),则可以执行以下操作:

os.path.join(dir_name, '.'.join((base_filename, filename_suffix)))

如果您希望保持代码干净,只需在后缀中包含点:

suffix = '.pdf'

os.path.join(dir_name, base_filename + suffix)

该方法也恰好与pathlib中的后缀约定兼容,在询问了此问题后,它在python

3.4中引入。不需要向后兼容的新代码可以做到这一点:

suffix = '.pdf'

pathlib.PurePath(dir_name, base_filename + suffix)

如果只处理本地操作系统的路径Path,PurePath则可能更喜欢使用较短的名称。

警告:请勿with_suffix()为此使用pathlib 。base_filename如果该方法包含点,它将损坏。

脚注:在Micorsoft操作系统之外,没有文件名“ extension”之类的东西。它在Windows上的存在来自MS-DOS和FAT,它们是从CP /

M借来的,而CP / M已经死了数十年。我们中许多人习惯看到的点加三字母只是其他所有现代OS上文件名的一部分,它没有内置的含义。

2020-12-20

你可能感兴趣的:(python,文件名,路径)