Python os.sysconf()
Python os.sysconf() 方法用于获取整数值的系统配置值。它接受一个字符串参数 name 它指定要检索的配置值。
的所有可能值 name 的键给出 sysconf_names 字典。我们也可以传递一个整数值 name 参数用于字典中不包含的配置变量。
方法指定的配置变量 name 参数不是由系统定义的 os.sysconf() 方法将返回 None 如果名称没有指定任何现有的配置变量,那么 ValueError 例外。此外,如果主机操作系统不支持该配置值, OSError 例外。
Note: os.sysconf() 方法仅在UNIX平台上可用。
语法: os.sysconf(name)
参数:
name:表示系统配置变量的字符串或整数值。
返回类型: 此方法返回一个整数值,表示与指定配置变量对应的配置值。
示例1
使用os.sysconf()方法
# Python program to explain os.sysconf() method
# importing os module
import os
# System Configuration variable
name = "SC_PAGE_SIZE"
# Get the integer-valued
# configuration value corresponding
# to the specified configuration
# variable using os.sysconf() method
value = os.sysconf(name)
# Print the configuration value
print("% s :" % name, value)
# System Configuration variable
name1 = "SC_INT_MIN"
name2 = "SC_INT_MAX"
# Get the integer-valued
# configuration value corresponding
# to the specified configuration
# variable using os.sysconf() method
value1 = os.sysconf(name1)
value2 = os.sysconf(name2)
# Print the configuration value
print("% s :" % name1, value1)
print("% s :" % name2, value2)
# We can also pass an integer
# value for name parameter.
# integer value must be present in
# os.sysconf_names dictionary as value
# of any configuration variable
# for example
conf_var = "SC_INT_MIN"
name = os.sysconf_names[conf_var]
print("\nInteger value corresponding to % s:" % conf_var, name)
# Get the integer-valued
# configuration value corresponding
# to the specified integer value
# using os.sysconf() method
value = os.sysconf(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
输出:
SC_PAGE_SIZE : 4096
SC_INT_MIN : -2147483648
SC_INT_MAX : 2147483647
Integer value corresponding to SC_INT_MIN: 105
Configuration value corresponding to 105 : -2147483648
示例2
使用os.sysconf()方法时可能出现的错误
# Python program to explain os.sysconf() method
# importing os module
import os
# System Configuration variable
name = "PAGE_SIZE"
# If the specified name
# is not a configuration variable
# then ValueError Exception
# is raised
value = os.sysconf(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 "sysconf.py", line 15, in
value = os.sysconf(name)
ValueError: unrecognized configuration name
示例3
使用os.sysconf()方法时处理可能的错误
# Python program to explain os.sysconf() method
# importing os module
import os
# System Configuration variable
name = "PAGE_SIZE"
# we can handle exception
# using try and except block
# Try getting the system
# configuration value corresponding
# to specified configuration variable
try :
value = os.sysconf(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)
输出:
'PAGE_SIZE' is not a configuration variable