GNU readlink
支持类似于:
readlink -m /some/path/which/may/contain/symlinks
...将路径作为参数,并返回不包含任何符号链接的路径(只要可以这样做),通过替换这些链接元素使用他们所指的"真实" /绝对路径。 与readlink -f
或readlink -e
不同,当任何路径元素不存在时,这会容忍(无故障地继续)。
Python中是否有可用的等效操作?
答案 0 :(得分:2)
$ rm -rf -- /tmp/nonexisting.XYZ # just to be extra clear
$ orig_path=/tmp/nonexisting.XYZ/foo # on MacOS, where /tmp is at /private/tmp
$ greadlink -m "$orig_path" # demonstrate GNU readlink output for comparison...
/private/tmp/nonexisting.XYZ/foo
$ python -c 'import os.path, sys; print(os.path.realpath(sys.argv[1]))' "$orig_path"
/private/tmp/nonexisting.XYZ/foo