Issue 4401: os.extsep status? doc or os bug? (original) (raw)
3.0c3 Manual (as with 2.x): os.extsep The character which separates the base filename from the extension; for example, the '.' in os.py. Also available via os.path.
3.0c3
import os os.extsep Traceback (most recent call last): File "", line 1, in AttributeError: 'module' object has no attribute 'extsep' os.path.extsep '.'
os.extsep apparently was present in 2.x Mention of os.extsep was also present in 2.x docstring and removed in 3.0 docstring, so perhaps this was intentional, but it does not make much sense, so I am provisionally marking this as a library bug.
For more information: in 3.0, os.curdir, os.pardir, os.sep, os.altsep, os.pathsep, os.defpath, and os.devnull are also in os.path. Only os.extset was removed from os. Among the sysinfo constants, only os.linesep was not in os.path. I think either all names or none should be duplicated.
The doc for os.path begins "This module implements some useful functions on pathnames". The duplication of the sysinfo constants is not mentioned! (Though perhaps is should be "Also, as a convenience, the system information constants from os are available here also.") So if they are only in one place, it should be os, not os.path.
In any case, the removal of extpath and only that from os is gratuitous breakage.