sys模塊的功能介紹
1. sys的變量
-
argv
命令行參數
方法:sys.argv 返回值:list 例如:test1.py文件中有兩句語句1.import sys 2.print(sys.argv) python test1.py 2 3 df >>> ['test1.py','2','3','df'] #該方法返回的列表中第一個元素為程序的路徑,會把執行參數傳入到列表中
-
path
模塊的搜索路徑
方法:sys.path 返回值:list 例如:print(sys.path) >>> ['', 'D:\\python3.5.2\\python35.zip', 'D:\\python3.5.2\\DLLs', 'D:\\python3.5.2\\lib', 'D:\\python3.5.2', 'D:\\python3.5.2\\lib\\site-packages'] #列表中第一個路徑代表當前路徑
-
modules
模塊路徑字典
方法:sys.modules 返回值:dict #該方法返回一個字典,模塊名為key,模塊路徑為value
-
stdin
標准輸入
-
stdout
標准輸出
-
stderr
標准錯誤
-
last_type
最后捕獲的異常類型
-
last_value
最后捕獲的異常值
-
last_traceback
回到上次捕獲的異常
-
copyright
解釋器的版權通知
-
exec_prefix
機器特定的Python庫
-
executable
可執行的二進制文件的絕對路徑
方法:sys.executable 返回值:str 例如:print(sys.executable) >>> 'D:\\python3.5.2\\python.exe'
-
float_info
浮點信息的結構
方法:sys.float_info 返回值sys.float_info 例如:print(sys.float_info) >>> sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) #返回浮點信息的限定范圍
-
floatreprstyle
字符串表示浮點的repr方法
方法:sys.float_repr_style 返回值:str 例如:print(sys.float_repr_style) >>> 'short'
-
hash_info
哈希信息的結構
方法:sys.hash_info 返回值:sys.hash_info #該變量的使用同float_info類似
-
hexversion
版本信息作為一個整數
-
implementation
Python實現的信息
方法:sys.impelementation 返回值:types.SimpleNamespace #該變量的使用同float_info類似
-
int_info
整數實現的信息
方法:sys.int_info 返回值:sys.int_info #該變量的使用同float_info類似
-
maxsize
最大支持的長度
方法:sys.maxsize 返回值:int 例如:print(sys.maxsize) >>> 9223372036854775807
-
maxunicode
最大編碼點
方法:sys.maxunicode 返回值:int 例如:print(sys.maxunicode) >>> 1114111
-
platform
平台標識符
方法:sys.platform 返回值:str 例如:print(sys.platform) >>> 'win32' #上述結果為windows64位的操作系統
-
prefix
python庫
方法:sys.prefix 返回值:str 例如:print(sys.prefix) >>> 'D:\\python3.5.2' #返回的是python庫的路徑
-
thread_info
線程的實現信息
方法:sys.thread_info 返回值:sys.thread_info #該變量的使用同float_info類似
-
version
當前版本
方法:sys.version 返回值:str 例如:print(sys.version) >>> 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] #python解釋器當前的版本信息
-
dllhandle
整數處理
-
winver
版本號
方法:sys.winver 返回值:str #該變量是對version的簡化提取其返回值中的3.5這個版本號。
2. sys的方法
-
displayhook
打印對象並保存在內部
方法:sys.displayhook(obj) 返回值:object #該方法類似於stdout和內置builtins的結合
-
excepthook
打印異常及其追蹤用法
方法:sys.excepthook(exctype,value,traceback) 返回值:obj
-
exc_info
當前異常的線程安全信息
-
exit
退出解釋器
方法:sys.exit() 返回值:None #該方法一般用exit()方法替代。
-
getprofile
獲取全局配置函數
方法:sys.getprofile() 返回值:function #該方法需要配合setprofile方法一起使用,返回值為函數名
-
getrefcount
對象引用計數
-
getrecursionlimit
最大遞歸深度
方法:sys.getrecursionlimit() 返回值:int 例如:print(sys.getrecursionlimit()) >>> 1000 #遞歸的最大深度為1000層。該最大層為默認值,可以通過setrecursionlimit方法進行修改。
-
getsizeof
獲取對象的字節大小
-
gettrace
獲取全局調試跟蹤函數
方法:sys.gettrace() 返回值:function #該方法需要配合settrace方法一起使用,獲取調試函數名
-
setcheckinterval
控制多久事件解釋器檢查
-
setprofile
設置全局配置函數
方法:sys.setprofile(func) 返回值:None #該方法把一個函數設置為全局配置函數,傳入的函數需要3或3個以上參數,該方法可以配合getprofile方法使用。
-
setrecursionlimit
設置遞歸最大層數
方法:sys.setrecursionlimit(int) 返回值:None #通過該方法修改遞歸的最大層數。
-
settrace
設置全局跟蹤調試函數
方法:sys.settrace(func) 返回值:None #該方法的使用可以參考setprofile方法,傳入的函數可以無參數。