SF patch #461781 by Chris Lawrence: os.path.realpath - Resolve symlinks:
Once upon a time, I put together a little function
that tries to find the canonical filename for a given
pathname on POSIX. I've finally gotten around to
turning it into a proper patch with documentation.
On non-POSIX, I made it an alias for 'abspath', as
that's the behavior on POSIX when no symlinks are
encountered in the path.
Example:
>>> os.path.realpath('/usr/bin/X11/X')
'/usr/X11R6/bin/X'
diff --git a/Doc/lib/libposixpath.tex b/Doc/lib/libposixpath.tex
index 658b4ea..9cd1a58 100644
--- a/Doc/lib/libposixpath.tex
+++ b/Doc/lib/libposixpath.tex
@@ -137,6 +137,13 @@
forward slashes to backward slashes.
\end{funcdesc}
+\begin{funcdesc}{realpath}{path}
+Return the canonical path of the specified filename, eliminating any
+symbolic links encountered in the path.
+Availability: \UNIX{}.
+\versionadded{2.2}
+\end{funcdesc}
+
\begin{funcdesc}{samefile}{path1, path2}
Return true if both pathname arguments refer to the same file or
directory (as indicated by device number and i-node number).