📜  Python| os.path.expanduser() 方法(1)

📅  最后修改于: 2023-12-03 15:04:21.404000             🧑  作者: Mango

Python | os.path.expanduser() 方法

Python 的 os.path 模块中提供了一个 expanduser() 方法,该方法可以扩展 ~~user 这样的路径字符串,将其转换为绝对路径。

语法

os.path.expanduser(path)

  • path:要扩展的路径字符串。
返回值

该方法返回一个字符串,表示扩展 ~~user 后的绝对路径。如果 path 不是以 ~~user 开头,则返回原始字符串。

示例代码
import os

path1 = '~/Downloads'
path2 = '~otheruser/Documents'
path3 = '/usr/local/bin'

abs_path1 = os.path.expanduser(path1)
abs_path2 = os.path.expanduser(path2)
abs_path3 = os.path.expanduser(path3)

print(abs_path1)   # /Users/username/Downloads
print(abs_path2)   # /Users/otheruser/Documents
print(abs_path3)   # /usr/local/bin

上述代码中,我们使用 os.path.expanduser() 方法扩展了三个路径字符串 path1path2path3path1path2 分别以 ~~otheruser 开头,经过扩展后变成了当前用户的下载目录(/Users/username/Downloads)和 otheruser 用户的文档目录(/Users/otheruser/Documents)。

path3 则不以 ~~user 开头,因此经过扩展后仍然是原来的值(/usr/local/bin)。

注意事项
  • 如果指定的 path 中包含变量或环境变量,也可以使用 Python 内置的 os.path.expandvars() 方法扩展。
  • 在 Linux 和 macOS 系统中,~ 表示当前用户的家目录,~user 表示用户 user 的家目录。而在 Windows 系统中,~~user 均不会被扩展,需要使用 %USERPROFILE% 才能表示当前用户的家目录。