获取file1的相对路径(相对于file2的路径,file1在file2的子文件夹中)

时间:2015-01-22 13:16:17

标签: python

我在某个文件夹中有file_css。我想在其中包含(通过css include)path_inc的路径。 file_inc可能在file_css的子文件夹中(直接子文件夹或2-3级);甚至与file_css在同一个文件夹中。

如何获取file_inc的相对路径?

实施例。

  • file_css =" d:\ my \ my.css"。 file_inc =" d:\ my \ in \ more \ inc.css"。我想在\ more \ inc.css"
  • 中获得字符串"
  • 很好也有这样的情况:file_css =" d:\ my \ my.css"。 file_inc =" d:\ inc.css"。我想得到字符串" .. \ inc.css"

1 个答案:

答案 0 :(得分:1)

使用os.path.relpath

>>> os.path.relpath('/foo/bar/baz', '/foo')
'bar/baz'

>>> os.path.sep = '\\'   # I need this because i'm not on dos/cpm/vax/nt
>>> os.path.relpath('c:\\foo\\bar\\baz', 'c:\\foo')
'bar/baz'

将其与dirname

结合使用
def css_relative_path(html_path, css_path):
    return os.path.relpath(css_path, os.path.dirname(html_path))

>>> css_relative_path('/foo/bar/baz.html', '/foo/bar/css/baz.css')
'css/baz.css'