【发布时间】:2014-02-14 12:32:39
【问题描述】:
在 Python 中,如果路径中有“~”,我可以确定扩展的用户调用将是绝对路径吗?
例如,这个表达式是否总是正确的?
path = '~/.my_app'
os.path.expanduser(path) == os.path.abspath(os.path.expanduser(path))
【问题讨论】:
标签: python path cross-platform absolute-path
在 Python 中,如果路径中有“~”,我可以确定扩展的用户调用将是绝对路径吗?
例如,这个表达式是否总是正确的?
path = '~/.my_app'
os.path.expanduser(path) == os.path.abspath(os.path.expanduser(path))
【问题讨论】:
标签: python path cross-platform absolute-path
这取决于您的$HOME 指向什么。在大多数正确设置的系统(每个主流 Linux 发行版、OSX 和 Windows)上,它都会指向一个绝对路径,例如/home/user 或 C:/Users/User。但是如果未设置、设置不当甚至手动更改(export HOME=.),expanduser 可能会导致相对路径,在这种情况下abspath 会进一步更改它。
但对于大多数意图和目的,您可以假设是的,这两个表达式是等价的。
【讨论】: