Python os.path.expandvars() 方法



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

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

语法

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

os.path.expandvars(path)

参数

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

返回值

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

示例

在下面的示例中,我们使用 expandvars() 方法扩展给定的文件路径 "path",方法是将 "$HOME" 环境变量替换为对应值,该值是用户的 home 目录:

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" 和 "$TEMP"。这两个变量都替换为它们各自的值:

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
os_path_methods.htm
广告