Python os.confstr()
Python os.confstr() 方法用于获取字符串值的系统配置值。它通常接受一个字符串参数 name 它指定要检索的配置值。
的所有可能值 name 的键给出 confstr_names 字典。我们也可以传递一个整数值 name 参数用于字典中不包含的配置变量。
方法指定的配置变量 name 参数不是由系统定义的 os.confstr() 方法将返回 None 如果名称没有指定任何现有的配置变量,那么 ValueError 例外。此外,如果主机操作系统不支持该配置值, OSError 例外。
Note: os.confstr() 方法仅在UNIX平台上可用。
语法: os.confstr(name)
参数:
name:表示系统配置变量的字符串或整数值。
返回类型: 此方法返回一个字符串值,该值表示与指定配置变量对应的配置值。
示例1
使用os.confstr()方法
# Python program to explain os.confstr() method
# importing os module
import os
# System Configuration variable
name = "CS_GNU_LIBC_VERSION"
# Get the configuration value
# corresponding to the
# specified configuration
# variable using os.confstr() method
value = os.confstr(name)
# Print the configuration value
print("% s :" % name, value)
# System Configuration variable
name = "CS_PATH"
# Get the configuration value
# corresponding to the
# specified configuration
# variable using os.confstr() method
value = os.confstr(name)
# Print the configuration value
print("% s :" % name, value)
# We can also pass an integer
# value for name parameter.
# for example
conf_var = "CS_GNU_LIBC_VERSION"
name = os.confstr_names[conf_var]
print("\nInteger value corresponding to % s:" % conf_var, name)
# Get the configuration value
# corresponding to the
# specified integer value
# using os.confstr() method
value = os.confstr(name)
# Print the configuration value
print("Configuration value corresponding to % s :" % name, value)
# Note: -1 is returned if the
# configuration variable is not defined
# by the system
输出:
CS_GNU_LIBC_VERSION : glibc 2.26
CS_PATH : /bin:/usr/bin
Integer value corresponding to CS_GNU_LIBC_VERSION: 2
Configuration value corresponding to 2 : glibc 2.26
示例2
使用os.confstr()方法时可能出现的错误
# Python program to explain os.confstr() method
# importing os module
import os
# System Configuration variable
name = "cs_PATH"
# If the specified name
# is not a configuration variable
# then ValueError Exception
# is raised
value = os.confstr(name)
print("% s:" % name, value)
# Similarly, if the a specific
# value for name parameter is
# not supported by host operating system
# then OSError exception
# is raised.
输出:
Traceback (most recent call last):
File "confstr.py", line 15, in
value = os.confstr(name)
ValueError: unrecognized configuration name
示例3
使用os.confstr()方法时处理可能的错误
# Python program to explain os.confstr() method
# importing os module
import os
# System Configuration variable
name = "cs_PATH"
# we can handle exception
# using try and except block
# Try getting the system
# configuration value corresponding
# to specified configuration variable
try :
value = os.confstr(name)
print("% s:" % name, value)
# If the specified name is
# not a configuration variable
except ValueError :
print("'% s' is not a configuration variable" % name)
# If the specified name is
# not supported by the
# operating system
except OSError :
print("'% s' is not supported by Operating system" % name)
输出:
'cs_PATH' is not a configuration variable