日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python標準庫sys庫常用功能詳解_python

作者:匿名V5程序員 ? 更新時間: 2022-09-03 編程語言

1、查看版本信息

# coding:utf-8
import sys
# 獲取 Python版本信息
print(sys.version)
# 獲取解釋器中C的API版本
print(sys.api_version)
# 獲取Windows系統功能版本
print(sys.getwindowsversion()) # sys.getwindowsversion(major=10, minor=0, build=17763, platform=2, service_pack='')
# 獲取Windows系統功能版本
print(sys.getwindowsversion())
# 獲取Python 解釋器的版本值
print(sys.hexversion) # 50988528
# 獲取當前正在運行的Python解釋器的實現信息的對象
print(sys.implementation)
# name 當前解釋器的名稱
# version 當前解釋器的版本
# hexversion 解釋器的版本值
# cache_tag 緩存標記信息
# 獲取Windows平臺上形成注冊表項的版本號
print(sys.winver)

2、四大實現詳細信息

# coding:utf-8
import sys
# 獲取浮點類型的實現信息
print(sys.float_info)
# 獲取哈希元祖的實現信息
print(sys.hash_info)
# 獲取整數類型的實現信息
print(sys.int_info)
# 獲取線程信息
print(sys.thread_info)

3、查看Python解釋器的相關信息

# coding:utf-8
import sys

# 獲取Python解釋器導入的內建模塊列表
print(sys.builtin_module_names)
# 獲取解釋器當前分配的內存塊數,此函數主要用于跟蹤和調試內存泄漏
print(sys.getallocatedblocks())
# 獲取當前遞歸的限制,也就是Python解釋器堆棧最大深度的值
# 該限制可防止無限遞歸導致C堆棧溢出和Python崩潰
# 可以通過setrecursionlimit()來調整
print(sys.getrecursionlimit())
# 獲取解釋器的“線程切換間隔。
print(sys.getswitchinterval()) # 0.005
# 獲取當前正在運行的Python解釋器的實現信息
# name 當前解釋器的名稱
# version 當前解釋器的版本
# hexversion 解釋器的版本值
# cache_tag 緩存標記信息
print(sys.implementation)
# 獲取Python解釋器是否關閉
print(sys.is_finalizing()) # False
# 獲取當前程序及解釋器信息
print(sys.orig_argv)
# 獲取Python 解釋器的版權信息
print(sys.copyright)
# 獲取解釋器的安裝路徑信息
print(sys.base_exec_prefix)
# 獲取解釋器的安裝路徑信息
print(sys.base_prefix)
# 獲取python的安裝路徑
print(sys.prefix)

3、設置python解釋器信息

4、標準輸入、輸出和錯誤流

  • sys.stdin, 標準輸入流
  • sys.stdout,標準輸出流
  • sys.stderr,標準錯誤流
aa = sys.stdin.readline()
sys.stderr.write('stderr info\n')
sys.stdout.write('stdout info\n')

5、查看系統平臺相關信息

# coding:utf-8
import sys

# 獲取平臺標識,Windows平臺的值為‘win32',linux的值為‘linux'
print(sys.platform)
# 獲取當前平臺最大的整形值,與平臺位數相關,32位系統平臺 為 2**(31-1) -1 ,64位平臺為2**(64-1)-1
print(sys.maxsize, 2**(64-1) - 1)
# 獲取當前的默認字符串編碼格式
print(sys.getdefaultencoding())
# 獲取在Unicode文件名和字節文件名之間轉換的錯誤模式的名稱
print(sys.getfilesystemencodeerrors())
# 獲取在Unicode文件名和字節文件名之間轉換的編碼名稱
print(sys.getfilesystemencoding())
# 獲取由setprofile()設置的全局配置。
print(sys.getprofile())
aa = 111
print(aa)
# 獲取對象的引用次數
print(sys.getrefcount(aa))
# 獲取對象的大小,單位為字節
print(sys.getsizeof(aa))
i = 100
print(sys.getsizeof(i))
# 獲取repr()函數對浮點數x的行為方式,short表示repr(x)生成短字符串
print(sys.float_repr_style)
# 獲取 unicode 編碼的最大值
print(sys.maxunicode)
# 獲取本地的字節順序, 不同的CPU采用的字節順序可能不一樣;
# 常見的有little-endian和big-endian;
# little-endian是指將低位字節放在前面,高位字節放在后面,big-endian剛好相反;
# sys.byteorder返回值為little為little-endian,big為big-endian
print(sys.byteorder)
# 獲取 模塊搜索路徑的列表 , 由環境變量PYTHONPATH進行初始化及安裝時的默認值組成
print(sys.path)
# 獲取python模塊的信息
print(sys.modules)
# 返回值是一個以模塊名為key的字典,查看os模塊的信息
print(sys.modules['os'])

6、其他

# coding:utf-8
import sys
# 獲取命令行參數
print(sys.argv)
# 查看命令行標志的狀態
print(sys.flags)
# 將參數值標準輸出
sys.displayhook('21313132')
# 獲取當前正在處理的異常類的異常詳細信息
# sys.exc_info()返回三個值的元組,type為異常類型、value為異常類型實例traceback為回溯對象
print(sys.exc_info())
# 定義審計內容
def audit_hook(event, *args):
if event in ['test', 'lll']:
print('event:' + event)
else:
print(f"{event}未監聽")
# 注冊審計
sys.addaudithook(audit_hook)
# 調用審計
sys.audit('test') # event:test
sys.audit('12') # 12未監聽

# 強制退出程序,參數為程序退出的返回值,正常退出為 sys.exit(0) 或 sys.exit()
# sys.exit(0)
# 異常退出
# sys.exit(-1)

原文鏈接:https://blog.51cto.com/u_12907475/5458657

欄目分類
最近更新