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