在python中修复'../../'路径

时间:2011-01-13 19:48:11

标签: python

Python中是否有一种简单的方法可以解析..之类的路径运算符?例如,是否存在将/../../test/../path转换为/path的函数调用?

4 个答案:

答案 0 :(得分:21)

您可以使用os.path.realpath()获取规范路径。要获得规范化的相对路径,请使用os.path.normpath()

答案 1 :(得分:7)

您可以在abspath模块中使用os.path

  

os.path.abspath则(路径)

     

返回标准化的绝对值   路径名路径的版本。最多的   平台,这相当于   normpath(join(os.getcwd(),path))。

答案 2 :(得分:5)

如果您使用的是pathlib库,则使用的方法是resolve

In [304]: print(p)
/group_workspaces/cems2/fiduceo/Users/gholl/logs/2016/08/10/srf_errorprop/../../../../../scratch/accidentally_deleted_shift_log

In [305]: print(p.resolve())
/group_workspaces/cems2/fiduceo/Users/gholl/scratch/accidentally_deleted_shift_log

答案 3 :(得分:3)

您可以使用os.path.abspath

中的os.path功能