从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
的值是否有任何意义并引发错误。
答案 0 :(得分:1)
在官方文件中。
在Unix上,初始化的〜被环境变量HOME取代 它被设定;否则查找当前用户的主目录 密码目录通过内置模块pwd。最初的 〜直接在密码目录中查找用户。
...
如果 扩展失败或路径不是以波形符号开头的路径 没有变更。
正如文档所说,如果操作失败,它将返回原始字符串。而且,关键是,返回未更改路径但不是
经常~/
。