[Python-Dev] Add os.path.resolve to simplify the use of os.readlink (original) (raw)
Christian Heimes lists at cheimes.de
Thu Jun 21 13:26:12 CEST 2012
- Previous message: [Python-Dev] Add os.path.resolve to simplify the use of os.readlink
- Next message: [Python-Dev] Add os.path.resolve to simplify the use of os.readlink
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 21.06.2012 13:10, schrieb Armin Ronacher: Hello Armin,
No, but that's a good point. It should attempt to resolve these in a loop until it either loops too often (would have to check the POSIX spec for a reasonable value) or until it terminates by finding an actual file or directory.
The specs mention sysconf(SYMLOOP_MAX) / _POSIX_SYMLOOP_MAX for the maximum count of lookups. The limit is lower than I expected. On my system it's defined as 8 in /usr/include/x86_64-linux-gnu/bits/posix1_lim.h. The limit would also handle self referencing loops correctly.
BTW Is there a better way than raise OSError(errno.ELOOP, os.strerror(errno.ELOOP), filename) to raise a correct OSError with errno, errno message and filename? A classmethod like "OSError.from_errno(errno, filename=None) -> proper subclass auf OSError with sterror() set" would reduce the burden for developers. PEP mentions the a similar idea at http://www.python.org/dev/peps/pep-3151/#implementation but this was never implemented.
Christian
- Previous message: [Python-Dev] Add os.path.resolve to simplify the use of os.readlink
- Next message: [Python-Dev] Add os.path.resolve to simplify the use of os.readlink
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]