Don't know if this is for windows compatibility or whatever but I think it makes more sense if os.path.dirname would return "." if the file passed in was in the current directory.
Changing to just 3.6, since that's the only place we could change the behavior. That said, I'd be -1 on making such a change. It would no doubt break some existing code.
This is documented behavior and changing this will break existing code (for example see the implementation of glob.glob()). If you need this, a workaround is simple and idiomatic: ``os.path.dirname(path) or os.curdir``.
os.path.dirname is documented as the first element of os.path.split, which in turn is documented to be empty when there's no slash in the path. An empty string is treated as the current directory by os.path.abspath. This is in line with an empty element in the PATH environment variable. Also, Python's sys.path uses an empty string for the current directory. If you want a dot for display and logging purposes, normalize via os.path.normpath: >>> os.path.normpath('') '.'