📜  Python| os.sysconf() 方法

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

Python| os.sysconf() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。

Python中的os.sysconf()方法用于获取整数值的系统配置值。它接受一个字符串参数名称,该名称指定要检索的配置值。

name参数的所有可能值都作为sysconf_names字典的键给出。我们还可以为那些不包含在字典中的配置变量传递一个整数值作为名称参数。

如果name参数指定的配置变量不是系统定义的,则os.sysconf()方法将返回None ,如果 name 未指定任何现有配置变量,则会引发ValueError异常。此外,如果主机操作系统不支持配置值,则会引发OSError异常。

注意: os.sysconf()方法仅在 UNIX 平台上可用。

代码: os.sysconf() 方法的使用

Python3
# 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


Python3
# 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.


Python3
# 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)


输出:
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() 方法时可能出现的错误

Python3

# 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() 方法时处理可能的错误

Python3

# 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