日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Python 标准库之 sys

發(fā)布時間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 标准库之 sys 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. os 與 sys 庫的差異

os與sys模塊的官方解釋如下:

  • os
    This module provides a portable way of using operating system dependent functionality.

    這個模塊提供了一種方便的使用操作系統(tǒng)函數(shù)的方法。

  • sys
    This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

    這個模塊可供訪問由解釋器使用或維護(hù)的變量和與解釋器進(jìn)行交互的函數(shù)。

2. sys 庫常用的函數(shù)

函數(shù)說明
sys.argv命令行參數(shù)List,第一個元素是程序本身路徑
sys.platform返回操作系統(tǒng)平臺名稱,在編寫跨平臺應(yīng)用時很有用
sys.exc_info()獲取當(dāng)前正在處理的異常類,exc_type、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息
sys.exit(n)退出程序,正常退出時exit(0)
sys.hexversion獲取Python解釋程序的版本值,16進(jìn)制格式如:0x020403F0
sys.version獲取Python解釋程序的版本信息
sys.maxint最大的Int值
sys.maxunicode最大的Unicode值
sys.modules返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊
sys.modules.keys()返回所有已經(jīng)導(dǎo)入的模塊列表
sys.path返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值
標(biāo)準(zhǔn)流如果需要更好地控制輸出, 而print不能滿足你的要求, 它們就是你所需要的.你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設(shè)備(device), 或者以非標(biāo)準(zhǔn)的方式處理它們
sys.stdout標(biāo)準(zhǔn)輸出
sys.stdin標(biāo)準(zhǔn)輸入
sys.stderr錯誤輸出
sys.exc_clear()用來清除當(dāng)前線程所出現(xiàn)的當(dāng)前的或最近的錯誤信息
sys.exec_prefix返回平臺獨立的python文件安裝的位置
sys.byteorder本地字節(jié)規(guī)則的指示器,big-endian平臺的值是’big’,little-endian平臺的值是’little’
sys.copyright記錄python版權(quán)相關(guān)的東西
sys.api_version解釋器的C的API版本
sys.version_infoPython版本信息
sys.displayhook(value)如果value非空,這個函數(shù)會把他輸出到sys.stdout,并且將他保存進(jìn)__builtin__…指在python的交互式解釋器里,’‘代表上次你輸入得到的結(jié)果,hook是鉤子的意思,將上次的結(jié)果鉤過來
sys.getdefaultencoding()返回當(dāng)前你所用的默認(rèn)的字符編碼格式,一般默認(rèn)為ascii
sys.getfilesystemencoding()返回將Unicode文件名轉(zhuǎn)換成系統(tǒng)文件名的編碼的名字
sys.setdefaultencoding(name)用來設(shè)置當(dāng)前默認(rèn)的字符編碼,如果name和任何一個可用的編碼都不匹配,拋出LookupError,這個函數(shù)只會被site模塊的sitecustomize使用,一旦別site模塊使用了,他會從sys模塊移除
sys.builtin_module_namesPython解釋器導(dǎo)入的模塊列表
sys.executablePython解釋程序路徑
sys.getwindowsversion()獲取Windows的版本,Windows系統(tǒng)中有效
sys.stdin.readline()從標(biāo)準(zhǔn)輸入讀一行,會讀取末尾的換行符
sys.stdout.write()向標(biāo)準(zhǔn)輸出寫入內(nèi)容,例如:sys.stdout.write(“hello world”),屏幕輸出 hello world

sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值

sys.path.append(“自定義模塊路徑”)

sys.modules 是一個全局字典,該字典是 Python 啟動后就加載在內(nèi)存中。每當(dāng)程序員導(dǎo)入新的模塊,sys.modules 將自動記錄該模塊。
當(dāng)?shù)诙卧賹?dǎo)入該模塊時,Python 會直接到字典中查找,從而加快了程序運行的速度。它擁有字典所擁有的一切方法。

In [7]: sys.version
Out[7]: '2.7.12 (default, Dec  4 2017, 14:50:18) \n[GCC 5.4.0 20160609]'In [8]: sys.maxint
Out[8]: 9223372036854775807In [9]: sys.maxunicode
Out[9]: 1114111In [10]: sys.path
Out[10]:
['','/usr/bin','/usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/usr/lib/python2.7/lib-old','/usr/lib/python2.7/lib-dynload','/home/ubuntu/.local/lib/python2.7/site-packages','/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages/IPython/extensions','/home/ubuntu/.ipython']In [11]: sys.platform
Out[11]: 'linux2'In [12]: sys.api_version
Out[12]: 1013In [13]: sys.version_info
Out[13]: sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
def exitfunc(value):print (value)sys.exit(0)print "hello"try:sys.exit(90)
except SystemExit as value:exitfunc(value)print "world"
#	打印結(jié)果
#	hello
#	90

程序首先打印 hello,在執(zhí)行 exit(90),拋異常把 90 傳給 value,value 在傳進(jìn)函數(shù)中執(zhí)行,打印 90程序退出。后面的 ”world” 因為已經(jīng)退出所以不會被打印,而此時如果把 exitfunc 函數(shù)里面的sys.exit(0) 去掉,那么程序會繼續(xù)執(zhí)行到輸出 ”world”。

總結(jié)

以上是生活随笔為你收集整理的Python 标准库之 sys的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。