在Python中,如果路径中包含“〜”,我可以确定扩展的用户调用将是绝对路径吗?

例如,此表达式是否始终为真?

path = '~/.my_app'
os.path.expanduser(path) == os.path.abspath(os.path.expanduser(path))

最佳答案

这取决于您的$HOME指向什么。在大多数设置正确的系统上(每个主流Linux发行版,OSX和Windows),它都指向绝对路径,例如/home/userC:/Users/User。但是,如果未设置,设置不当甚至手动更改了它(export HOME=.),expanduser可能会产生相对路径,在这种情况下abspath会进一步更改它。

但是对于大多数意图和目的,您可以假定是的,两个表达式都是等效的。

09-08 09:33