Python,独立地向目录字符串,os添加尾部斜杠

ohh*_*hho 103 python string

如果尾部斜杠不存在,如何向目录字符串添加尾部斜杠(/对于*nix,\对于win32)?谢谢!

Ste*_*der 157

os.path.join(path, '') 将添加尾部斜杠,如果它还没有.

你可以做os.path.join(path, '', '')或者os.path.join(path_with_a_trailing_slash, '')你仍然只能获得一个尾随斜杠.

  • 当“path”恰好是文件而不是目录时,还会添加斜杠。这有点不方便。 (2认同)

Tim*_*ker 25

由于您要连接目录和文件名,请使用

os.path.join(directory, filename)
Run Code Online (Sandbox Code Playgroud)

如果你想摆脱.\..\..\blah\路径,请使用

os.path.join(os.path.normpath(directory), filename)
Run Code Online (Sandbox Code Playgroud)


Max*_*keh 11

您可以通过以下方式手动完成:

path = ...

import os
if not path.endswith(os.path.sep):
    path += os.path.sep
Run Code Online (Sandbox Code Playgroud)

但是,它通常使用起来更干净os.path.join.