>>> sys.platform 'linux' >>> sys.maxsize 9223372036854775807 >>> sys.version '3.6.1 (default, Jul 12 2017, 09:58:07) \n[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]'
>>> import sys >>> sys.platform # 底层操做系统名称 'win32' >>> sys.maxsize # 当前计算机上可容纳的最大的“原生”整型 9223372036854775807 >>> sys.version # Python解释器的版本号 '3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]'
sys.path 是一个由目录名称字符串组成的列表,每一个目录名称字符串表明正在运行的Python 解释器真正的搜索路径。模块导入时,Python会从左向右扫描列表,在列表中的每一个目录下搜索模块文件。html
sys.path 列表在解释器启动时根据PYTHONPATH设置进行初始化,电脑中Python目录下的全部.pth 路径文件的内容,以及系统默认设置。python
>>> sys.path ['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', ...more deleted...]
另外,sys.path 也能够用程序进行更改。脚本能够借助多种列表操做来设置搜索路径,好比 append、extend、insert、pop、remove 和del,以便把所需的源目录所有包括进来。不管如何更改,Python在导入时老是使用当前sys.path设置:linux
>>> sys.path ['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages'] >>> sys.path.append('/root') >>> sys.path ['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/root']
对sys.path 的更改只维持到Python 进程结束时,下次重启时,须要从新设定。app
Windows在 DOS目录下,目录路径字符串中使用双反斜杠(如在"C:\\dir"中,\\ 是表示\ 的转义符),或者使用原始字符串字面量来保留反斜杠的字面意义(如 r"C:\dir")工具
sys 模块还包含嵌入解释器的钩子。 例如, sys.modules是一个字典,你的Python会话或程序所导入的每一个模块在其中都有一个name:module项:ui
>>> sys.modules {'builtins': <module 'builtins' (built-in)>, ...more deleted...} >>> list(sys.modules.keys()) ['builtins', 'sys', '_frozen_importlib', ...] >>> sys <module 'sys' (built-in)> >>> sys.modules['sys'] <module 'sys' (built-in)>
另外,借助解释器的钩子,能够经过 sys.getrefcount 来查看对象的引用次数,而Python 的内置模块名称可执行 sys.builtin_module_names 列出:spa
>>> sys.getrefcount(sys) 49 >>> sys.builtin_module_names ('_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator', '_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc', '_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype', 'zipimport')
sys.argv : 显示为由字符串组成的列表的命令行参数操作系统
sys.stdin、sys.stdout和sys.stderr: 标准流命令行
sys.exit:经过调用可强制退出code
详细介绍请参考:https://docs.python.org/3/library/sys.html?highlight=sys#module-sys