为什么python有os.path.curdir
为什么python有os.path.curdir,python,Python,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以外的平台可以使用
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操作系统上是@
,例如,在旧的Macintosh操作系统上是:
该值在整个标准库中使用,以保持平台无关性
改用,os.path.abspath()。以下是abspath()
的POSIX实现:
它只是一个恒定的、依赖于平台的值。来源(值得一读):
操作系统用于引用当前目录的常量字符串。这是Windows和POSIX的。
。也可通过os.path
获得
<> >您可以考虑使用.< /p> < p> >代码> OS.PATH .Curdir < /C> > Linux > Windows和OS X >代码> >“但是,<代码>”:“旧的Mac OS 9系统”< /代码>。Python已经存在了足够长的时间,这曾经很重要 你想要os.getcwd()
而不是os.path.abspath(os.path.curdir)
。你可以用它来简化代码的输出,比如os.walk(os.curdir)中的for(root,dir,files):
是的,我忘了有些操作系统没有“.”作为curdir。谢谢
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)