Windows系统上,文件的路径分隔符是 ‘\’
Linux系统上,文件的路径分隔符是 ‘/’
Python 为满足跨平台的要求,使用os.sep能够在不同系统上采用不同的分隔符。
单独打印os.sep。 可以发现自动识别当前系统分隔符。
import os
print(os.sep)
运行结果:
/
例子:当前文件夹路径为\data
想要兼容,需要将data提取,再用os.sep转化
代码如下:
# -*- coding: utf-8 -*-
import os
from typing import Text
def root_path():
""" 获取 根路径 """
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
return path
def ensure_path_sep(path: Text) -> Text:
"""兼容 windows 和 linux 不同环境的操作系统路径 """
if "/" in path:
path = os.sep.join(path.split("/"))
if "\\" in path:
path = os.sep.join(path.split("\\"))
print(root_path() + path)
if __name__ == '__main__':
ensure_path_sep("\\data")
ensure_path_sep('/data')
运行结果
/Users/wangchen/Desktop/文档管理/学习文档/work/data
/Users/wangchen/Desktop/文档管理/学习文档/work/data
思路:先将拿到的路径切片,得到[‘’,‘data’],再使用os.sep.join得到/data