Python os.path.expanduser() 方法



Python os.path.expanduser() 方法用于将路径字符串中的波浪号 (~) 字符扩展到用户的主目录。它将 ~ 字符替换为用户主目录的绝对路径。

如果未找到波形符或没有可用的用户主目录,该方法将返回原始路径字符串。

语法

以下是 Python os.path.expanduser() 方法的基本语法 -


 os.path.expanduser(path)

参数

此方法接受一个字符串作为参数,该参数表示 ~ (波浪号) 字符应扩展到用户主目录的路径。

返回值

该方法返回一个字符串,该字符串表示路径,其中 ~(波浪号)字符扩展到用户的主目录。

在下面的示例中,我们通过使用 expanduser() 方法将波浪号 (~) 字符替换为用户的主目录来扩展给定的文件路径 “path” -


import os
path = "~/Documents/file.txt"
expanded_path = os.path.expanduser(path)
print(expanded_path) 	

输出

获得的输出如下 -

C:\Users\Lenovo/Documents/file.txt

这个例子演示了如果给定路径中有多个波浪号 (~) 符号,expanduser() 方法只扩展它遇到的第一个波浪号 (~) 符号,而保留后续的波浪号 -


import os
path = "~/Documents/~/Downloads"
expanded_path = os.path.expanduser(path)
print(expanded_path)	

输出

以下是上述代码的输出 -

C:\Users\Lenovo/Documents/~/Downloads

如果我们提供一个空字符串作为 expanduser() 方法的输入,它将返回一个空字符串 -


import os
path = ""
expanded_path = os.path.expanduser(path)
print("The file path is:",expanded_path) 	 		

输出

生成的结果如下所示 -

The file path is:

此示例显示,如果在给定路径中找不到波形符,该方法将返回原始路径字符串 -


import os
path = "/home/user/Documents/file.txt"
expanded_path = os.path.expanduser(path)
print(expanded_path)

输出

我们得到的输出如下所示 -

/home/user/Documents/file.txt