作用
该模块针对Python解释器相关的变量和方法(针对程序运行相关)
查看系统平台相关信息
import sys
print(sys.platform) # 获取平台标识,Windows平台的值为‘win32’,linux的值为‘linux’
print(sys.maxsize, 2**(64-1) - 1) # 获取当前平台最大的整形值,32位系统平台 为 2**(31-1) -1 ,64位平台为2**(64-1)-1
print(sys.getdefaultencoding()) # 获取当前的字符串编码格式
print(sys.getfilesystemencodeerrors()) # 获取在Unicode文件名和字节文件名之间转换的错误模式的名称
print(sys.getfilesystemencoding()) # 获取在Unicode文件名和字节文件名之间转换的编码名称
print(sys.getprofile()) # 获取由setprofile()设置的全局配置。
bb = 111
print(bb)
print(sys.getrefcount(bb)) # 获取对象的引用次数
print(sys.getsizeof(bb)) # 获取对象的大小,单位为字节
print(sys.float_repr_style) # 获取repr()函数对浮点数x的行为方式,short表示repr(x)生成短字符串
print(sys.maxunicode) # 获取 unicode 编码的最大值
print(sys.byteorder)
"""获取本地的字节顺序, 不同的CPU采用的字节顺序可能不一样;
常见的有little-endian和big-endian;
little-endian是指将低位字节放在前面,高位字节放在后面,big-endian刚好相反;
sys.byteorder返回值为little为little-endian,big为big-endian"""
print(sys.path) # 获取 模块搜索路径的列表 , 由环境变量PYTHONPATH进行初始化及安装时的默认值组成
print(sys.modules) # 获取python模块的信息
print(sys.modules['os']) # 返回值是一个以模块名为key的字典,查看os模块的信息
查看版本信息
print(sys.version) # 获取 Python版本信息
print(sys.api_version) # 获取解释器中C的API版本
print(sys.getwindowsversion()) # 获取Windows系统功能版本
print(sys.hexversion) # # 获取Python 解释器的版本值 50988528
print(sys.implementation) # 获取当前正在运行的Python解释器的实现信息的对象
print(sys.winver) # 获取Windows平台上形成注册表项的版本号
详细信息
import sys
print(sys.float_info) # 获取浮点类型的实现信息
print(sys.hash_info) # 获取哈希元祖的实现信息
print(sys.int_info) # 获取整数类型的实现信息
print(sys.thread_info) # 获取线程信息
解释器的相关信息
print(sys.builtin_module_names) # 获取Python解释器导入的内建模块列表
print(sys.getallocatedblocks()) # 获取解释器当前分配的内存块数,此函数主要用于跟踪和调试内存泄漏
print(sys.getrecursionlimit())
"""
获取当前递归的限制,也就是Python解释器堆栈最大深度的值
该限制可防止无限递归导致C堆栈溢出和Python崩溃
可以通过setrecursionlimit()来调整
"""
print(sys.getswitchinterval()) # 获取解释器的“线程切换间隔,0.005
print(sys.implementation)
"""
获取当前正在运行的Python解释器的实现信息
name 当前解释器的名称
version 当前解释器的版本
hexversion 解释器的版本值
cache_tag 缓存标记信息
"""
print(sys.is_finalizing()) # False # 获取Python解释器是否关闭
print(sys.orig_argv) # 获取当前程序及解释器信息
print(sys.copyright) # 获取Python 解释器的版权信息
print(sys.base_exec_prefix) # 获取解释器的安装路径信息
print(sys.base_prefix) # 获取解释器的安装路径信息
print(sys.prefix) # 获取python的安装路径
sys.stdout.write和sys.stdout.flush
进度条
import sys,time
for i in range(50):
sys.stdout.write(">")
sys.stdout.flush()
time.sleep(0.2)
#调用print时,事实上调用了sys.stdout.write,相当于把东西塞进sys.stdout管道里面
# sys.stdout.write是先将内容写入到缓存中,待到缓存满了或者缓存刷新时再输出到控制台中。直到调用flush()