python之sys库

该库主要是对python解释器进行操作

import sys

print(sys.argv)  # 当前运行的程序本身
print(sys.version, sys.version_info)  # 当前Python的版本
print(sys.copyright) # 当前解释器的版本信息
print(sys.path)  # 当前解释器配置的环境变量
print(sys.platform)  # 当前操作系统名称
print(sys.maxsize)  # 最大int值2**31-1或2**63-1
print(sys.stdin.readline())  # 与input()方法类似,用于标准输入,其中input可以在()中添加描述
def stdout():
    __console = sys.stdout  # 用于重定向输出,可将print内容输出至指定的文件中
    file = open('temp.txt', 'a+')
    sys.stdout = file  # 指定输出地址
    print("this word will not print in console but in temp.txt")  # 写入内容
    sys.stdout = __console  # 关闭指定输出位置
    print("this word will still print in console")  # 正常在控制台输出
stdout()
print("this is error log", file=sys.stderr) # 将内容以异常日志形式输出
print(sys.getdefaultencoding()) # 获取解释器当前编码格式
print(sys.getfilesystemencoding()) # 获取文件系统的编码格式
print(sys.modules) # 字典形式返回环境中已导入的所有模块
print(sys.builtin_module_names) # 返回一个元祖,显示已编译到解释器的模块
def exc_info(): # 构造一个异常方法
    try:
        temp = []
        print(temp[1])
    except:
        print(sys.exc_info()) # 返回异常对象类型,异常原因,异常对象本身
exc_info()
print(sys.flags) # 用于修改标志类型,0,1
# flags: _flags
# class _flags:
#     debug: int
#     division_warning: int
#     inspect: int
#     interactive: int
#     optimize: int
#     dont_write_bytecode: int
#     no_user_site: int
#     no_site: int
#     ignore_environment: int
#     verbose: int
#     bytes_warning: int
#     quiet: int
#     hash_randomization: int
#     if sys.version_info >= (3, 7):
#         dev_mode: int
#         utf8_mode: int
print(sys.getrefcount(object)) # 返回对象的引用数量
print(sys.getrecursionlimit()) # 返回Python最大递归深度,默认1000
print(sys.getsizeof(object)) # 返回对象大小
print(sys.getswitchinterval()) # 返回线程切换间隔时间,默认0.005
sys.setswitchinterval(0.005) # 设置线程切换时间间隔,单位秒
print(sys.getwindowsversion()) # 展示当前windows版本信息
print(sys.hash_info) # 返回python默认的哈希方法参数
print(sys.implementation) # 返回解释器具体实现类型 cpython或其他的类型
print(sys.displayhook(object)) #将对象打印在公屏上,并将其作为内置函数
print(sys.excepthook) # 打印异常及其回溯到sys.stderr
print(sys.getprofile()) # 获取全局分析函数
print(sys.settrace(object)) # 设置全局调试跟踪功能,入参为方法函数
print(sys._getframe().f_code.co_filename)  # 当前文件名,可以通过__file__获得
print(sys._getframe(0).f_code.co_name)  # 当前函数名
print(sys._getframe(1).f_code.co_name)  # 调用该函数的函数的名字,如果没有被调用,则返回<module>,貌似call stack的栈低
print(sys._getframe().f_lineno)  # 当前行号
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值