Python標(biāo)準(zhǔn)庫(kù)sys庫(kù)常用功能詳解
1、查看版本信息
# coding:utf-8 import sys # 獲取 Python版本信息 print(sys.version) # 獲取解釋器中C的API版本 print(sys.api_version) # 獲取Windows系統(tǒng)功能版本 print(sys.getwindowsversion()) # sys.getwindowsversion(major=10, minor=0, build=17763, platform=2, service_pack='') # 獲取Windows系統(tǒng)功能版本 print(sys.getwindowsversion()) # 獲取Python 解釋器的版本值 print(sys.hexversion) # 50988528 # 獲取當(dāng)前正在運(yùn)行的Python解釋器的實(shí)現(xiàn)信息的對(duì)象 print(sys.implementation) # name 當(dāng)前解釋器的名稱 # version 當(dāng)前解釋器的版本 # hexversion 解釋器的版本值 # cache_tag 緩存標(biāo)記信息 # 獲取Windows平臺(tái)上形成注冊(cè)表項(xiàng)的版本號(hào) print(sys.winver)

2、四大實(shí)現(xiàn)詳細(xì)信息
# coding:utf-8 import sys # 獲取浮點(diǎn)類型的實(shí)現(xiàn)信息 print(sys.float_info) # 獲取哈希元祖的實(shí)現(xiàn)信息 print(sys.hash_info) # 獲取整數(shù)類型的實(shí)現(xiàn)信息 print(sys.int_info) # 獲取線程信息 print(sys.thread_info)

3、查看Python解釋器的相關(guān)信息
# coding:utf-8 import sys # 獲取Python解釋器導(dǎo)入的內(nèi)建模塊列表 print(sys.builtin_module_names) # 獲取解釋器當(dāng)前分配的內(nèi)存塊數(shù),此函數(shù)主要用于跟蹤和調(diào)試內(nèi)存泄漏 print(sys.getallocatedblocks()) # 獲取當(dāng)前遞歸的限制,也就是Python解釋器堆棧最大深度的值 # 該限制可防止無(wú)限遞歸導(dǎo)致C堆棧溢出和Python崩潰 # 可以通過(guò)setrecursionlimit()來(lái)調(diào)整 print(sys.getrecursionlimit()) # 獲取解釋器的“線程切換間隔。 print(sys.getswitchinterval()) # 0.005 # 獲取當(dāng)前正在運(yùn)行的Python解釋器的實(shí)現(xiàn)信息 # name 當(dāng)前解釋器的名稱 # version 當(dāng)前解釋器的版本 # hexversion 解釋器的版本值 # cache_tag 緩存標(biāo)記信息 print(sys.implementation) # 獲取Python解釋器是否關(guān)閉 print(sys.is_finalizing()) # False # 獲取當(dāng)前程序及解釋器信息 print(sys.orig_argv) # 獲取Python 解釋器的版權(quán)信息 print(sys.copyright) # 獲取解釋器的安裝路徑信息 print(sys.base_exec_prefix) # 獲取解釋器的安裝路徑信息 print(sys.base_prefix) # 獲取python的安裝路徑 print(sys.prefix)

3、設(shè)置python解釋器信息

4、標(biāo)準(zhǔn)輸入、輸出和錯(cuò)誤流
- sys.stdin, 標(biāo)準(zhǔn)輸入流
- sys.stdout,標(biāo)準(zhǔn)輸出流
- sys.stderr,標(biāo)準(zhǔn)錯(cuò)誤流
aa = sys.stdin.readline()
sys.stderr.write('stderr info\n')
sys.stdout.write('stdout info\n')
5、查看系統(tǒng)平臺(tái)相關(guān)信息
# coding:utf-8 import sys # 獲取平臺(tái)標(biāo)識(shí),Windows平臺(tái)的值為‘win32',linux的值為‘linux' print(sys.platform) # 獲取當(dāng)前平臺(tái)最大的整形值,與平臺(tái)位數(shù)相關(guān),32位系統(tǒng)平臺(tái) 為 2**(31-1) -1 ,64位平臺(tái)為2**(64-1)-1 print(sys.maxsize, 2**(64-1) - 1) # 獲取當(dāng)前的默認(rèn)字符串編碼格式 print(sys.getdefaultencoding()) # 獲取在Unicode文件名和字節(jié)文件名之間轉(zhuǎn)換的錯(cuò)誤模式的名稱 print(sys.getfilesystemencodeerrors()) # 獲取在Unicode文件名和字節(jié)文件名之間轉(zhuǎn)換的編碼名稱 print(sys.getfilesystemencoding()) # 獲取由setprofile()設(shè)置的全局配置。 print(sys.getprofile()) aa = 111 print(aa) # 獲取對(duì)象的引用次數(shù) print(sys.getrefcount(aa)) # 獲取對(duì)象的大小,單位為字節(jié) print(sys.getsizeof(aa)) i = 100 print(sys.getsizeof(i)) # 獲取repr()函數(shù)對(duì)浮點(diǎn)數(shù)x的行為方式,short表示repr(x)生成短字符串 print(sys.float_repr_style) # 獲取 unicode 編碼的最大值 print(sys.maxunicode) # 獲取本地的字節(jié)順序, 不同的CPU采用的字節(jié)順序可能不一樣; # 常見(jiàn)的有l(wèi)ittle-endian和big-endian; # little-endian是指將低位字節(jié)放在前面,高位字節(jié)放在后面,big-endian剛好相反; # sys.byteorder返回值為little為little-endian,big為big-endian print(sys.byteorder) # 獲取 模塊搜索路徑的列表 , 由環(huán)境變量PYTHONPATH進(jìn)行初始化及安裝時(shí)的默認(rèn)值組成 print(sys.path) # 獲取python模塊的信息 print(sys.modules) # 返回值是一個(gè)以模塊名為key的字典,查看os模塊的信息 print(sys.modules['os'])

6、其他
# coding:utf-8
import sys
# 獲取命令行參數(shù)
print(sys.argv)
# 查看命令行標(biāo)志的狀態(tài)
print(sys.flags)
# 將參數(shù)值標(biāo)準(zhǔn)輸出
sys.displayhook('21313132')
# 獲取當(dāng)前正在處理的異常類的異常詳細(xì)信息
# sys.exc_info()返回三個(gè)值的元組,type為異常類型、value為異常類型實(shí)例traceback為回溯對(duì)象
print(sys.exc_info())
# 定義審計(jì)內(nèi)容
def audit_hook(event, *args):
if event in ['test', 'lll']:
print('event:' + event)
else:
print(f"{event}未監(jiān)聽(tīng)")
# 注冊(cè)審計(jì)
sys.addaudithook(audit_hook)
# 調(diào)用審計(jì)
sys.audit('test') # event:test
sys.audit('12') # 12未監(jiān)聽(tīng)
# 強(qiáng)制退出程序,參數(shù)為程序退出的返回值,正常退出為 sys.exit(0) 或 sys.exit()
# sys.exit(0)
# 異常退出
# sys.exit(-1)
到此這篇關(guān)于Python標(biāo)準(zhǔn)庫(kù)sys庫(kù)常用功能詳解的文章就介紹到這了,更多相關(guān)Python sys庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法
下面小編就為大家分享一篇使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
使用Pytorch+PyG實(shí)現(xiàn)MLP的詳細(xì)過(guò)程
圖神經(jīng)網(wǎng)絡(luò)是最近 AI 領(lǐng)域最熱門的方向之一,下面這篇文章主要給大家介紹了關(guān)于使用Pytorch+PyG實(shí)現(xiàn)MLP的詳細(xì)過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
Python實(shí)現(xiàn)求一個(gè)集合所有子集的示例
今天小編就為大家分享一篇Python 實(shí)現(xiàn)求一個(gè)集合所有子集的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python+Turtle實(shí)現(xiàn)繪制可愛(ài)的小倉(cāng)鼠
肉嘟嘟的小動(dòng)物很是可愛(ài),這篇文章主要為大家介紹一下如何運(yùn)用Python中的turtle庫(kù)控制函數(shù)繪制小倉(cāng)鼠,文中的實(shí)現(xiàn)方法講解詳細(xì),感興趣的可以嘗試一下2022-10-10
如何解決.cuda()加載用時(shí)很長(zhǎng)的問(wèn)題
這篇文章主要介紹了如何解決.cuda()加載用時(shí)很長(zhǎng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05

