码迷,mamicode.com
首页 > 其他好文 > 详细

系统工具-sys模块

时间:2017-08-16 21:41:52      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:war   size   操作系统   64 bit   命令   let   code   解释   最大的   

平台与版本

>>> 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会从左向右扫描列表,在列表中的每个目录下搜索模块文件。

sys.path 列表在解释器启动时根据PYTHONPATH设置进行初始化,电脑中Python目录下的所有.pth 路径文件的内容,以及系统默认设置。

>>> 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设置:

>>> 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 进程结束时,下次重启时,需要重新设定。

Windows在 DOS目录下,目录路径字符串中使用双反斜杠(如在"C:\\dir"中,\\ 是表示\ 的转义符),或者使用原始字符串字面量来保留反斜杠的字面意义(如 r"C:\dir")

已加载模块表

sys 模块还包含嵌入解释器的钩子。 例如, sys.modules是一个字典,你的Python会话或程序所导入的每个模块在其中都有一个name:module项:

>>> 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 列出:

>>> 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模块导出的其他工具

sys.argv  : 显示为由字符串组成的列表的命令行参数

sys.stdin、sys.stdout和sys.stderr: 标准流

sys.exit:通过调用可强制退出

详细介绍请参考:https://docs.python.org/3/library/sys.html?highlight=sys#module-sys

系统工具-sys模块

标签:war   size   操作系统   64 bit   命令   let   code   解释   最大的   

原文地址:http://www.cnblogs.com/chengtai/p/7363397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!