这是一个微妙的问题,我知道,但我希望你能忍受我片刻。
假设/tmp/dir是一个符号链接到/home/user/some/dir. 还假设您当前的工作目录是/tmp/dir.
即使扩展类似的东西.似乎也不可能,因为os.getcwd()返回/home/user/some/dir而不是/tmp/dir命令pwd返回的内容。相对目录也可以是../dir/../dir/subdir,.././././dir/foo等。
所以我的问题是:是否有任何可靠的函数可以对相对路径进行路径扩展但不遵循相对路径中可能存在的符号链接。例如,如果是../dir/../dir/subdir,我想得到/tmp/dir/subdir而不是/home/user/some/dir/subdir。
只是为了避免得到我不想要的东西,答案是 NOT os.path.abspath, os.path.realpath, os.path.expanduser, or os.path.relpath。