os.path.curdir
返回“。” 这是完全真实的,完全没有价值的。要从中获得任何有用的东西,你必须用os.path.abspath(os.path.curdir)
为什么在 os.path 模块中包含一个无用的变量?为什么不让 os.path.curdir 成为为您执行 os.path.abspath 的函数?
存在有什么历史原因os.path.curdir
吗?
os.path.curdir
返回“。” 这是完全真实的,完全没有价值的。要从中获得任何有用的东西,你必须用os.path.abspath(os.path.curdir)
为什么在 os.path 模块中包含一个无用的变量?为什么不让 os.path.curdir 成为为您执行 os.path.abspath 的函数?
存在有什么历史原因os.path.curdir
吗?
它是一个常数,就像os.path.sep
.
POSIX 和 Windows 以外的平台可以使用不同的值来表示“当前目录”。@
例如,在 Risc OS上,在旧的 Macintosh OS 上,它是:
.
该值在整个标准库中使用以保持与平台无关。
改为使用os.getcwd()
;os.path.abspath()
无论如何,使用该功能在引擎盖下os.path.curdir
变成当前工作目录。这是 POSIX 的实现abspath()
:
def abspath(path):
"""Return an absolute path."""
if not isabs(path):
if isinstance(path, _unicode):
cwd = os.getcwdu()
else:
cwd = os.getcwd()
path = join(cwd, path)
return normpath(path)
的值os.path.curdir
适用"."
于 Linux、Windows 和 OS X。但是,它适用":"
于旧的 Mac OS 9 系统。Python 已经存在了足够长的时间,这曾经很重要。
它只是一个恒定的、依赖于平台的值。从文档(值得一读):
操作系统用来引用当前目录的常量字符串。这适用
'.'
于 Windows 和 POSIX。也可通过os.path
.
您可以考虑os.getcwd()
改用。