Doc: Clarify sys.path[0] behavior for symbolic and hard links

Improve documentation of how Python sets sys.path[0] when the script
is accessed via different link types:
- On Unix-like systems, symbolic links are resolved to target directory
- Hard links and Windows file links use the link's own directory

Fixes #58752
This commit is contained in:
bobzinin 2025-12-01 18:33:41 +03:00
parent d4fa70706c
commit b3035ff162

View file

@ -159,6 +159,12 @@ source.
containing that file is added to the start of :data:`sys.path`, and the
file is executed as the :mod:`__main__` module.
If the script name refers to a link, the behavior depends on the link
type and operating system. On Unix-like systems, symbolic links are
resolved to the target file's directory when added to :data:`sys.path`.
Hard links use the link's own directory. On Windows, both hard links
and symbolic links use the link's own directory.
If the script name refers to a directory or zipfile, the script name is
added to the start of :data:`sys.path` and the ``__main__.py`` file in
that location is executed as the :mod:`__main__` module.