Python中的相对路径

时间:2017-11-23 10:25:13

标签: python

我正在编写一些python代码来生成相对路径。情况需要考虑:

  1. 在同一个文件夹下。我想"。"或者"。\",对我来说都是好的。
  2. 其他文件夹。我想要"。\ xxx \"和" .. \ xxx \ xxx \"
  3. os.path.relpath()将生成相对路径,但在开头和\结尾没有。\。我们最后可以使用os.path.join(dirname,"")添加\。但我无法弄清楚如何添加"。\"在开头时不影响第一种情况,当它们在同一个文件夹下时," .. \ xxx \ xxx \"。

2 个答案:

答案 0 :(得分:0)

它会给你相对路径

import os
dir = os.path.dirname(__file__)
filename = os.path.join(dir,'Path')

答案 1 :(得分:0)

relpath()函数将生成“..”语法,给定适当的基础(第二个参数)。例如,假设您正在编写类似于使用相对路径生成代码的脚本生成器,如果工作目录是relpath()的第二个参数,如下所示,并且您希望在代码中引用项目中的另一个文件一个级别向上和两个深度的目录,你将得到“../blah/blah”..如果你想在同一个文件夹中为路径添加前缀,你可以简单地用“。”进行连接。这将产生具有正确的OS特定分隔符的路径。

print(os.path.relpath("/foo/bar/blah/blah", "/foo/bar/baz"))
>>> ../blah/blah

print(os.path.join('.', 'blah'))
>>> ./blah