訪問 Python 的配置資訊
可以透過 sysconfig 模組訪問 Python 安裝的配置資訊。例如,安裝路徑列表和特定於安裝平臺的配置變數。
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)。如果未找到 name,則函式返回 None。
>>> sysconfig.get_config_var('VERSION') '37' >>> sysconfig.get_config_var('srcdir') 'E:\python37'
Python 使用的安裝方案根據平臺和安裝選項的不同而有所不同。目前支援以下方案
posix_prefix | 適用於 Linux 或 Mac OS X 等 Posix 平臺的方案。 |
posix_home | 安裝時使用 home 選項時,用於 Posix 平臺的方案。 |
posix_user | 透過 Distutils 安裝元件並使用 user 選項時,用於 Posix 平臺的方案。 |
nt | 適用於 Windows 等 NT 平臺的方案。 |
nt_user | 使用 user 選項時,用於 NT 平臺的方案 |
get_path_names()
此函式返回一個元組,其中包含 sysconfig 中當前支援的所有路徑名稱。
>>> sysconfig.get_path_names() ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
每個方案都由具有唯一識別符號的各種路徑組成。路徑名稱如下所示
stdlib | 包含不特定於平臺的標準 Python 庫檔案的目錄。 |
platstdlib | 包含特定於平臺的標準 Python 庫檔案的目錄。 |
platlib | 特定於站點的、特定於平臺的檔案的目錄。 |
purelib | 特定於站點的、非特定於平臺的檔案的目錄。 |
include | 非特定於平臺的標頭檔案的目錄。 |
platinclude | 特定於平臺的標頭檔案的目錄。 |
scripts | 指令碼檔案的目錄。 |
data | 資料檔案的目錄。 |
get_path()
此函式返回對應於路徑名稱的安裝路徑,來自名為 scheme 的安裝方案。
>>> sysconfig.get_path('include') 'E:\python37\Include'
>>> sysconfig.get_platform() 'win-amd64'
get_python_version()
此函式返回作為字串的 MAJOR.MINOR Python 版本號。
get_platform()
此函式返回一個字串,該字串標識當前平臺。
還可以使用 sysconfig 模組和 –m 選項訪問配置變數及其值。
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"
廣告