sys模块介绍
sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控python的运行时环境。
1. 常用变量
常用变量 | 说明 | 本机示例 |
---|---|---|
sys.version |
返回python解释器的版本号,当程序需要用指定版本号运行时使用该变量 | 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] |
sys.maxsize |
表示操作系统承载的最大int值 | 2147483647 |
sys.maxunicode |
最大的unicode代码点值的整数 | 2147483647 |
sys.path |
当前脚本的path环境变量,如果没有python就找不到 | |
sys.platform |
返回操作系统平台名称 Windows :win32 Linux : linux Mac : darwin |
win32 |
sys.argv |
将python脚本运行时的脚本名以及参数作为一个list,并输出。 可以实现从程序外部向程序内部传递参数的功能 |
|
sys.executable |
给出python解释器的可执行二进制文件的绝对路径。 如果python无法检索其可执行文件的真实路径,将返回空字符串或None |
C:\Python27\python.exe |
sys.byteorder |
本地字节顺序的指示符 大端(最高有效位优先)返回 big 小端(最低有效位优先)返回 little |
little |
sys.version_info |
包含版本号的五个组件的元组:major 、minor 、micro 、releaselevel 、serial |
sys.version_info(major=2, minor=7, micro=11, releaselevel=‘final’, serial=0) |
sys.api_version |
解释器的api版本 | 1013 |
sys.stdin sys.stdout sys.stderr |
python的标准输入、输出、错误 | <open file ‘’, mode ‘r’ at 0x02BFD020> <open file ‘’, mode ‘w’ at 0x02BFD078> <open file ‘’, mode ‘w’ at 0x02BFD0D0> |
sys.modules |
系统导入的模块字段,key是模块名,value是模块 |
2. 常用方法
常用方法 | 说明 | 本机示例 |
---|---|---|
sys.exit() |
退出程序 正常退出: sys.exit(0) 异常退出: sys.exit(1) |
|
sys.modules.keys() |
返回所有已导入的模块名列表 | |
sys.getdefaultencoding() |
返回unicode当前使用的默认字符串编码的名称 | ascii |
sys.getfilesystemencoding() |
返回用于在unicode文件名和字节文件名之间进行转换的编码名称 | mbcs |
sys.getrecursionlimit() |
返回最大递归次数 | 1000 |
sys.setrecursionlimit(num) |
设置最大递归次数 | |
sys.getsizeof(obj) |
获取对象占用的内存大小 | |
sys.getrefcount(obj) |
返回obj的引用计数。返回的计数通常比预期的高一个,因为包含临时引用作为参数 | |
sys.exc_info() |
获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息 | (None, None, None) |
sys.getwindowsversion() |
获取windows版本 | |
sys.stdin.readline() |
从标准输入读一行,会读取末尾的换行符 | |
sys.stdout.write() |
向标准输出写入内容 |
sys.getsizeof(obj)
使用示例:
for obj in [int(),float(),list(),tuple(),str(),set(),dict(),object]:
print(str(obj.__class__).ljust(20), sys.getsizeof(obj))
显示结果:
("<type 'int'> ", 12)
("<type 'float'> ", 16)
("<type 'list'> ", 36)
("<type 'tuple'> ", 28)
("<type 'str'> ", 21)
("<type 'set'> ", 116)
("<type 'dict'> ", 140)
("<type 'type'> ", 436)
sys.getrefcount(obj)
使用示例
a=[1,2,3]
b=a
c=a
d=b
print(sys.getrefcount(a)) # 输出5
文章参考:https://blog.csdn.net/yuan2019035055/article/details/122947092
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/46074.html