在 Windows 上如何将路径格式标准化为 Unix 风格?

ahe*_*wer 4 python path

我使用 python 脚本将路径存储在 json 文件中。我希望无论脚本在哪个操作系统上运行,路径都以相同的格式(Unix 样式)存储。所以基本上我想运行该os.path.normpath函数,但它仅将路径转换为 ​​Unix 风格,而不是根据主机操作系统更改其函数。做这个的最好方式是什么?

blh*_*ing 6

您可以在调用后将 Windows 风格的路径转换为 ​​UNIX 风格的路径os.path.normpath。可以通过以下方式方便地完成转换pathlib.PureWindowsPath.as_posix:

import os.path
from pathlib import PureWindowsPath

path = r'\foo\\bar'
path = os.path.normpath(path)
if os.path.sep == '\\':
    path = PureWindowsPath(path).as_posix()
print(path)
Run Code Online (Sandbox Code Playgroud)

在 Windows 中输出:

/foo/bar
Run Code Online (Sandbox Code Playgroud)