Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 구성 정보에 대한 액세스

<시간/>

Python 설치의 구성 정보는 sysconfig 모듈에서 액세스할 수 있습니다. 예를 들어 설치 경로 및 설치 플랫폼에 특정한 구성 변수 목록입니다.

sysconfig 모듈은 구성 변수에 액세스하기 위해 다음과 같은 기능을 제공합니다.

sysconfig.get_config_vars()

인수가 없으면 이 함수는 현재 플랫폼과 관련된 모든 구성 변수의 사전을 반환합니다.

>>> import sysconfig
>>> sysconfig.get_config_vars()
{'prefix': 'E:\\python37', 'exec_prefix': 'E:\\python37', 'py_version': '3.7.2', 'py_version_short':
'3.7', 'py_version_nodot': '37', 'installed_base': 'E:\\python37', 'base': 'E:\\python37',
'installed_platbase': 'E:\\python37', 'platbase': 'E:\\python37', 'projectbase': 'E:\\python37',
'abiflags': '', 'LIBDEST': 'E:\\python37\\Lib', 'BINLIBDEST': 'E:\\python37\\Lib', 'INCLUDEPY':
'E:\\python37\\Include', 'EXT_SUFFIX': '.pyd', 'EXE': '.exe', 'VERSION': '37', 'BINDIR':
'E:\\python37', 'SO': '.pyd', 'userbase': 'C:\\Users\\acer\\AppData\\Roaming\\Python', 'srcdir':
'E:\\python37'}

인수를 사용하여 특정 키에 대한 값 목록을 반환합니다. 각 인수에 대해 값을 찾을 수 없으면 None을 반환합니다.

>>> sysconfig.get_config_vars('base','EXE')
['E:\\python37', '.exe']

sysconfig.get_config_var()

이 함수는 단일 변수 이름의 값을 반환합니다. 이것은 get_config_vars().get(name)과 동일합니다. 이름을 찾을 수 없으면 함수는 없음을 반환합니다.

>>> sysconfig.get_config_var('VERSION')
'37'
>>> sysconfig.get_config_var('srcdir')
'E:\\python37'

Python은 플랫폼 및 설치 옵션에 따라 다른 설치 체계를 사용합니다. 다음 구성표가 현재 지원됩니다.

posix_prefix Linux 또는 Mac OS X와 ​​같은 Posix 플랫폼을 위한 계획
posix_home 설치 시 홈 옵션을 사용할 때 사용되는 Posix 플랫폼용 구성표입니다.
posix_user Distutils를 통해 구성 요소를 설치하고 사용자 옵션을 사용할 때 사용되는 Posix 플랫폼용 스키마입니다.
아니 Windows와 같은 NT 플랫폼을 위한 계획입니다.
nt_user 사용자 옵션이 사용될 때 NT 플랫폼을 위한 체계

get_path_names()

이 함수는 sysconfig에서 현재 지원되는 모든 경로 이름을 포함하는 튜플을 반환합니다.

>>> sysconfig.get_path_names()
('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')

각 체계는 고유한 식별자를 갖는 다양한 경로로 구성됩니다. 경로 이름은 다음과 같습니다.

stdlib 플랫폼에 특정하지 않은 표준 Python 라이브러리 파일이 포함된 디렉토리.
platstdlib 플랫폼별 표준 Python 라이브러리 파일이 포함된 디렉토리.
플랫립 사이트별, 플랫폼별 파일용 디렉토리.
순수립 사이트별, 비플랫폼별 파일용 디렉토리
포함 플랫폼별 헤더 파일이 아닌 디렉토리.
플랫폼 플랫폼별 헤더 파일의 디렉토리.
스크립트 스크립트 파일의 디렉토리.
데이터 데이터 파일의 디렉토리.

get_path()

이 함수는 체계라는 이름의 설치 체계에서 경로 이름에 해당하는 설치 경로를 반환합니다.

>>> sysconfig.get_path('include')
'E:\\python37\\Include'


>>> sysconfig.get_platform()
'win-amd64'

get_python_version()

이 함수는 MAJOR.MINOR Python 버전 번호를 문자열로 반환합니다.

get_platform()

이 함수는 현재 플랫폼을 식별하는 문자열을 반환합니다.

구성 변수와 그 값은 -m 옵션과 함께 sysconfig 모듈을 사용하여 액세스할 수도 있습니다.

E:\python37>python -m sysconfig
Platform: "win-amd64"
Python version: "3.7"
Current installation scheme: "nt"
Paths:
   data = "E:\python37"
   include = "E:\python37\Include"
   platinclude = "E:\python37\Include"
   platlib = "E:\python37\Lib\site-packages"
   platstdlib = "E:\python37\Lib"
   purelib = "E:\python37\Lib\site-packages"
   scripts = "E:\python37\Scripts"
   stdlib = "E:\python37\Lib"
Variables:
   BINDIR = "E:\python37"
   BINLIBDEST = "E:\python37\Lib"
   EXE = ".exe"
   EXT_SUFFIX = ".pyd"
   INCLUDEPY = "E:\python37\Include"
   LIBDEST = "E:\python37\Lib"
   SO = ".pyd"
   VERSION = "37"
   abiflags = ""
   base = "E:\python37"
   exec_prefix = "E:\python37"
   installed_base = "E:\python37"
   installed_platbase = "E:\python37"
   platbase = "E:\python37"
   prefix = "E:\python37"
   projectbase = "E:\python37"
   py_version = "3.7.2"
   py_version_nodot = "37"
   py_version_short = "3.7"
   srcdir = "E:\python37"
   userbase = "C:\Users\acer\AppData\Roaming\Python"