我怎样才能从另一个人那里得到相对路径?
How can i get a path relative from an other?
我有一个来自 path2 的 path1 亲戚,我想从我的脚本中获取这个 path1,它不是 path1 或 path2。我知道 path2 的绝对路径。
您可以为此使用 os.relpath
函数:
os.path.relpath(path[, start])
Return a relative filepath to path
either from the current directory or from an optional start
directory. This is a path computation: the filesystem is not accessed to confirm the existence or nature of path
or start
.
所以你可以调用:
>>> relpath('/home/foo/bar', '/home/qux')
'../foo/bar'
因此您可以通过相对路径 ../foo/bar
.
从 /home/qux
访问 /home/foo/bar
或者您的情况:
replath(path2, path_of_script)
其中 path2
是绝对路径。
自己做了函数
import pathlib
def convert_path(path, org_path):
org_path = pathlib.Path(org_path).parent # need the folder where my file is
for element in path.split(os.path.sep):
if element == "..":
org_path = org_path.parent
else:
org_path = org_path.joinpath(element)
return str(org_path)
您可以为此使用 os.relpath
函数:
os.path.relpath(path[, start])
Return a relative filepath to
path
either from the current directory or from an optionalstart
directory. This is a path computation: the filesystem is not accessed to confirm the existence or nature ofpath
orstart
.
所以你可以调用:
>>> relpath('/home/foo/bar', '/home/qux')
'../foo/bar'
因此您可以通过相对路径 ../foo/bar
.
/home/qux
访问 /home/foo/bar
或者您的情况:
replath(path2, path_of_script)
其中 path2
是绝对路径。
自己做了函数
import pathlib
def convert_path(path, org_path):
org_path = pathlib.Path(org_path).parent # need the folder where my file is
for element in path.split(os.path.sep):
if element == "..":
org_path = org_path.parent
else:
org_path = org_path.joinpath(element)
return str(org_path)