非常教程

Python参考手册

运行 | Runtime

sysconfig

2.7版本的新功能。

源代码: Lib / sysconfig.py

sysconfig模块提供对Python配置信息的访问,如安装路径列表和与当前平台相关的配置变量。

1.配置变量

一个Python分布包含Makefilepyconfig.h头文件是必要建立于对Python二进制文件本身和第三方的C扩展使用编译distutils

sysconfig将在这些文件中找到的所有变量放在可以使用get_config_vars()或get_config_var()访问的字典中。

请注意,在Windows中,它是一个更小的集合。

sysconfig.get_config_vars(*args)

如果没有参数,则返回与当前平台相关的所有配置变量的字典。

使用参数,返回查找配置变量字典中每个参数所得到的值列表。

对于每个参数,如果未找到该值,则返回None

sysconfig.get_config_var(name)

返回单个变量名称的值。相当于get_config_vars().get(name)

如果找不到名字,请返回None

使用示例:

>>> import sysconfig
>>> sysconfig.get_config_var('Py_ENABLE_SHARED')
0
>>> sysconfig.get_config_var('LIBDIR')
'/usr/local/lib'
>>> sysconfig.get_config_vars('AR', 'CXX')
['ar', 'g++']

2.安装路径

Python使用的安装方案因平台和安装选项而异。 这些方案根据os.name返回的值以唯一标识符存储在sysconfig中。

使用distutils或基于Distutils的系统安装的每个新组件都将遵循相同的方案在正确的位置复制其文件。

Python目前支持七种方案:

  • posix_prefix:适用于Linux或Mac OS X等Posix平台的方案。这是安装Python或组件时使用的默认方案。
  • posix_home:在安装时使用家庭 选项时使用的POSIX平台的方案。当通过具有特定归属前缀的Distutils安装组件时使用此方案。
  • posix_user:用于通过Distutils安装组件并使用用户选项时使用的Posix平台的方案。该方案定义位于用户主目录下的路径。
  • nt:适用于Windows平台的NT平台。
  • nt_user:使用用户选项时NT平台的方案。
  • os2:OS / 2平台的方案。
  • 当使用用户 选项时,os2_home:OS / 2 patforms的方案。

每个方案本身都由一系列路径组成,每条路径都有一个唯一的标识符。Python目前使用八条路径:

  • stdlib:包含非特定于平台的标准Python库文件的目录。
  • platstdlib:包含特定于平台的标准Python库文件的目录。
  • platlib:特定于站点的平台特定文件的目录。
  • purelib:特定于站点的非平台特定文件的目录。
  • include:非平台特定头文件的目录。
  • platinclude:平台特定的头文件的目录。
  • scripts:脚本文件的目录。
  • data:数据文件的目录。

sysconfig 提供了一些功能来确定这些路径。

sysconfig.get_scheme_names()

返回包含sysconfig中当前支持的所有方案的元组。

sysconfig.get_path_names()

返回包含sysconfig中当前支持的所有路径名的元组。

sysconfig.get_path(name[, scheme[, vars[, expand]]])

从名为scheme的安装方案中返回与路径相对应的安装路径。

name必须是get_path_names()返回的列表中的值。

sysconfig为每个平台存储与每个路径名相对应的安装路径,其中要展开的变量。例如,nt方案的stdlib路径是:{base}/Lib

get_path()将使用返回的变量get_config_vars()来扩展路径。所有变量都具有每个平台的默认值,因此可以调用此函数并获取默认值。

如果提供方案,它必须是get_scheme_names()返回的列表中的值。 否则,将使用当前平台的默认方案。

如果提供了vars,它必须是一个将通过get_config_vars()更新字典返回值的变量字典。

如果expand设置为False,则路径将不会使用变量进行扩展。

如果找不到名字,请返回None

sysconfig.get_paths([scheme[, vars[, expand]]])

返回包含与安装方案对应的所有安装路径的字典。查看get_path()更多信息。

如果方案没有提供,将使用当前平台的默认方案。

如果提供了变量,它必须是一个变量字典,它将更新用于扩展路径的字典。

如果expand 设置为false,则路径将不会展开。

如果方案不是现有的方案,get_paths()将提出一个KeyError

3.其他功能

sysconfig.get_python_version()

MAJOR.MINOR以字符串形式返回Python版本号。类似于sys.version[:3]

sysconfig.get_platform()

返回一个标识当前平台的字符串。

这主要用于区分平台特定的构建目录和平台特定的构建分布。通常包括操作系统名称和版本以及体系结构(由提供os.uname()),尽管包含的确切信息取决于操作系统; 例如对于IRIX,体系结构并不特别重要(IRIX仅在SGI硬件上运行),但对于Linux,内核版本并不特别重要。

返回值的示例:

  • linux-i586
  • linux-alpha (?)
  • solaris-2.6-sun4u
  • irix-5.3
  • irix64-6.2

Windows将返回以下之一:

  • win-amd64(AMD64上的64位Windows(又名x86_64,Intel64,EM64T等)
  • win-ia64(Itanium上的64位Windows)
  • win32(所有其他 - 特别是,返回sys.platform)

Mac OS X可以返回:

  • macosx-10.6-ppc
  • macosx-10.4-ppc64
  • macosx-10.3-i386
  • macosx-10.4-fat

对于其他非POSIX平台,目前只是返回sys.platform

sysconfig.is_python_build()

如果当前Python安装是从源代码构建的,则返回True。

sysconfig.parse_config_h(fp[, vars])

解析一个config.h风格的文件。

fp是指向config.h类文件的类文件对象。

包含名称/值对的字典被返回。如果一个可选字典作为第二个参数传入,它将被用来代替一个新的字典,并使用文件中读取的值进行更新。

sysconfig.get_config_h_filename()

返回pyconfig.h的路径。

sysconfig.get_makefile_filename()

返回Makefile的路径。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法