假设我有一个名为:
/this/is/a/real/path
现在,我为它创建一个符号链接:
/this/is/a/link -> /this/is/a/real/path
然后,我将文件放入此路径:
/this/is/a/real/path/file.txt
并用符号路径名 cd 它:
cd /this/is/a/link
现在, pwd 命令将返回链接名称:
> pwd
/this/is/a/link
现在,我想获取 file.txt 的绝对路径:
/this/is/a/link/file.txt
但是使用 python 的os.abspath()
or os.realpath()
,它们都返回真正的路径 ( /this/is/a/real/path/file.txt
),这不是我想要的。
我也试过subprocess.Popen('pwd')
and sh.pwd()
,但也得到了真正的路径而不是符号链接路径。
如何使用 python 获取符号绝对路径?
更新
好的,我阅读了源代码,pwd
所以我得到了答案。
这很简单:只需获取PWD
环境变量。
这是我自己abspath
来满足我的要求:
def abspath(p):
curr_path = os.environ['PWD']
return os.path.normpath(os.path.join(curr_path, p))