📜  Python| os.path.expandvars() 方法

📅  最后修改于: 2022-05-13 01:54:44.703000             🧑  作者: Mango

Python| os.path.expandvars() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。 os.path模块是Python中OS 模块的子模块,用于常见的路径名操作。

Python中的os.path.expandvars()方法用于扩展给定路径中的环境变量。它将给定路径中形式为 $name${name}的子字符串替换为环境变量name的值。

如果给定路径包含格式错误的环境变量名称或不存在的环境变量,则os.path.expandvars()方法将使其保持不变。

Windows上,除了$name${name}扩展之外,还支持%name%扩展。

代码 #1:使用 os.path.expandvars() 方法

# Python program to explain os.path.expandvars() method 
    
# importing os.path module 
import os.path
  
# Path
path = "$HOME/file.txt"
  
# Expand the environment variables
# with their corresponding 
# value in the given path  
exp_var = os.path.expandvars(path)
  
  
# Print the given path with
# environment variables expanded
print(exp_var)
  
  
# Change the value of 
# Environment variable 'HOME'
  
os.environ["HOME"] = "/home/GeeksForGeeks" 
  
# Path
path = "$HOME/Documents/file.txt"
  
# Expand the environment variables
# with their corresponding 
# value in the given path  
exp_var = os.path.expandvars(path)
  
# Print the given path with
# environment variables expanded
print(exp_var)
  
  
# Create an environment variable
os.environ["USER"] = "ihritik"
  
# Path
path = "/home/${USER}/file.txt"
  
# Expand the environment variables
# with their corresponding 
# value in the given path  
exp_var = os.path.expandvars(path)
  
# Print the given path with
# environment variables expanded
print(exp_var)
  
  
# In the above example,
# os.path.expandvars() method replaced 
# the environment variable 'HOME' and 'USER'
# with their corresponding values
输出:
/home/ihritik/file.txt
/home/GeeksForGeeks/Documents/file.txt
/home/ihritik/file.txt


代码 #2:使用 os.path.expandvars() 方法(在 Windows 上)

# Python program to explain os.path.expandvars() method 
    
# importing os.path module 
import os.path
  
# On Windows % name % expansions
# are supported in addition to
# $name and ${name}
  
# Path 1
path1 = R"% HOMEPATH %\Directory\file.txt"
  
# Path 2
path2 = R"C:\Users\$USERNAME\Directory\file.txt"
  
# Path 3
path3 = R"${TEMP}\file.txt"
  
# Expand the environment variables
# with their corresponding 
# value in the given paths  
exp_var1 = os.path.expandvars(path1)
exp_var2 = os.path.expandvars(path2)
exp_var3 = os.path.expandvars(path3)
  
# Print the given paths with
# environment variables expanded
print(exp_var1)
print(exp_var2)
print(exp_var3)
  
  
# In the above example 
# os.path.expandvars() method
# replaced the environment variables
# 'HOMEPATH', 'USERNAME' and 'TEMP'
# with their corresponding values
输出:
\\Users\\Hritik\\\Directory\\file.txt
C:\\Users\\Hritik\\\Directory\\file.txt
C:\\Users\\Hritik\\AppData\\Local\\Temp\\file.txt


代码#3:如果环境变量不存在

# Python program to explain os.path.expandvars() method 
    
# importing os.path module 
import os.path
  
# If the environment variable 
# is malformed or does not exist
# then the given path will be
# left unchanged
  
# Path
path = R"${MYHOME}/Directory/file.txt"
  
# Expand the environment variables
# with their corresponding 
# value in the given paths  
exp_var = os.path.expandvars(path)
  
# Print the given path with
# environment variables expanded
print(exp_var)
  
  
# As 'MYHOME' environment variable
# does not exists so
# os.path.expandvars() method
# will return the given path
# unchanged
输出:
${MYHOME}/Directory/file.txt


参考: https://docs。 Python.org/3/library/os.path.html