Joe*_*Joe 6 python cross-platform path absolute-path
在Python中,如果路径中包含"〜",我可以确定扩展的用户调用是绝对路径吗?
例如,这个表达式总是如此吗?
path = '~/.my_app'
os.path.expanduser(path) == os.path.abspath(os.path.expanduser(path))
Run Code Online (Sandbox Code Playgroud)
这取决于你的$HOME
观点.在大多数正确的设置系统(每个主流Linux发行版,OSX和Windows)上,它将指向绝对路径,例如/home/user
或C:/Users/User
.但如果它未设置,不正确地设置甚至手动更改(export HOME=.
),expanduser
可能会导致相对路径,在这种情况下abspath
将进一步改变它.
但是对于大多数意图和目的,你可以假设是,两个表达式都是等价的.