在python中,有没有比这更好的方法来处理跨平台斜杠



有问题。下面是我在必须处理跨平台路径时使用的代码。还有比这更好的方法吗?

import platform
my_os = platform.system()
if my_os == "Windows":
    slash = "\"
else:
    slash = "/"

代码中的随机示例:

source_path = ""
for part in __file__.split("/")[:-1]:
    source_path += (part + slash)
print(source_path)

函数os.path.join .有关详细信息,请参阅文档:https://docs.python.org/3/library/os.path.html#os.path.join

不要自己加入路径。标准库附带os.pathpathlib模块,抽象出(大多数(平台差异。

例如,获取当前模块目录为:

import os.path
source_path = os.path.dirname(os.path.abspath(__file__))

import pathlib
source_path = pathlib.Path(__file__).resolve().parent

这两者都为当前平台提供了适当的绝对路径。

还有 os.sep 值,它是当前平台的主目录分隔符字符,以及可以使用多个路径分隔符的平台(如 Windows(的os.altsep

标准库版本可用于处理特定于平台的边缘情况,例如 Windows 上的混合正斜杠和反斜杠、驱动器名称和 UNC 路径。

相关内容

  • 没有找到相关文章

最新更新