python中window和linux下路径兼容

windows 中路径使用反斜线,linux下路径使用’/’, windows下的路径在linux下是不能被识别的。
path = os.path.split(os.path.realpath(file))[0] + r’\cmds’, 这样的路径不会被linux所识别
解决方案

  1. 使用os.path.join
    path = os.path.join(os.path.split(os.path.realpath(__file__))[0], 'cmds')
    
  2. 使用os.sep, python会根据不同的系统自动选择合适的路径分隔
    path = os.path.split(os.path.realpath(__file__))[0] + os.sep + 'cmds'
    
  3. 可以将所有的路径都使用正斜线:’/’, 在windows和linux都有效
    path = path.replace('\\', '/')
    
  4. 使用最新的pathlib模块
    import pathlib
    pathlib.Path('C:\dir', 'cmds') # WindowsPath('C:/dir/cmds')
    # 或者
    pathlib.Path('C:\dir')/'cmds'  # WindowsPath('C:/dir/cmds')
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章