Python os.path.expandvars() 方法



Python os.path.expandvars() 方法用于扩展路径字符串中的环境变量。它采用一个路径,其中包含格式为 $VARIABLE ${VARIABLE} 的环境变量,并将其替换为环境中的相应值。

如果未定义路径字符串中引用的环境变量,则 expandvars() 方法将引用替换为空字符串。如果路径字符串不包含任何环境变量引用,该方法将返回原始路径字符串不变。

语法

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


 os.path.expandvars(path)

参数

此方法接受一个字符串作为参数,该参数表示环境变量应在其中展开的路径。

返回值

该方法返回一个字符串,该字符串表示扩展了环境变量的路径。

在下面的示例中,我们通过将 “$HOME” 环境变量替换为相应的值来扩展给定的文件路径 “path” - 使用 expandvars() 方法的用户主目录 -


import os
path = "$HOME/Documents/file.txt"
expanded_path = os.path.expandvars(path)
print(expanded_path) 		

输出

获得的输出如下 -

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

在这里,我们通过将 “%USERNAME%” 环境变量替换为相应的值(即用户名 - )来扩展 Windows 路径 -


import os
path = "C:\\Users\\%USERNAME%\\Documents\\file.txt"
expanded_path = os.path.expandvars(path)
print(expanded_path) 		

输出

以下是上述代码的输出 -

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

如果指定的环境变量不存在,则路径保持不变。

在此示例中,“$NONEXISTENT” 不是有效的环境变量,因此路径保持不变 -


import os
path = "$NONEXISTENT/Documents/file.txt"
expanded_path = os.path.expandvars(path)
print(expanded_path) 	 	 	

输出

生成的结果如下所示 -

$NONEXISTENT/Documents/file.txt

在此示例中,我们将扩展多个环境变量”HOME"一个nd"HOME"一个nd"TEMP“ 的 API 请求。这两个变量都替换为它们各自的值 -


import os
path = "$HOME/Documents/$TEMP/file.txt"
expanded_path = os.path.expandvars(path)
print(expanded_path) 	

输出

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

C:\Users\Lenovo/Documents/C:\Users\Lenovo\AppData\Local\Temp/file.txt