os.path.expanduser('〜/')会返回没有目录吗?

时间:2017-05-09 04:13:42

标签: python path operating-system home-directory expanduser

How to get the home directory in Python?How to find the real user home directory using python?,可以找到用户的主目录:

import os
os.path.expanduser('~/')

os.path.expanduser()是否有可能找不到任何内容并返回~/

我问这个问题是因为,nltk来自https://github.com/nltk/nltk/blob/develop/nltk/downloader.py#L951

的这一行
homedir = os.path.expanduser('~/')
if homedir == '~/':
    raise ValueError("Could not find a default download directory")

注意:问题不是询问如何找到用户主目录,而是询问检查os.path.expanduser的值是否有任何意义并引发错误。

1 个答案:

答案 0 :(得分:1)

在官方文件中。

  

在Unix上,初始化的〜被环境变量HOME取代   它被设定;否则查找当前用户的主目录   密码目录通过内置模块pwd。最初的   〜直接在密码目录中查找用户。

     

...

     

如果   扩展失败或路径不是以波形符号开头的路径   没有变更。

正如文档所说,如果操作失败,它将返回原始字符串。而且,关键是,返回未更改路径但不是 经常~/