python常用模組——sys
阿新 • • 發佈:2018-12-09
sys模組
常用的方法:
1. sys.argv
命令列引數List,第一個元素是程式本身路徑
2. sys.exit(n)
退出程式,指定返回狀態碼n,正常退出時exit(0)
3. sys.version
獲取Python解釋程式的版本資訊
4. sys.path
返回模組的搜尋路徑,初始化時使用PYTHONPATH環境變數的值;它是一個列表,故擁有列表的方法;
5. sys.platform
返回作業系統平臺名稱
6. sys.exec_prefix
查詢當前python的安裝目錄,並返回絕對路徑
7. sys.executable
查詢當前python的直譯器程式,並返回絕對路徑
8. getsizeof(...)
getsizeof(object, default) -> int 以位元組(b)為單位返回物件的大小。1B=8b
9. sys.stdout.write('please:')
和print差不多;但是這個會統計字元個數;字母、數字、特殊符號、漢字都是算一個; 比如: import sys val = sys.stdout.write('please:') print(val) # 在同一行輸出 please:7 因為沒有\n換行,所有列印在了一行;
10. sys.stdin.readline()
讀取輸入的內容,直到換行或者遇到EOF;如果沒有輸入,直接EOF,則返回一個空字串; 例如: import sys val = sys.stdin.readline() # 執行到這裡,會等待互動式輸入內容,並賦值給val; print(val)
更多方法: https://docs.python.org/3/library/sys.html
動態資訊:
sys.argv
返回一個列表;argv[0]是指令碼本身(如果執行時帶有路徑則包含路徑),argv[1]是第一個引數......
sys.path
模組搜尋路徑;path[0]是當前指令碼所在的路徑;
sys.modules
裝載的模組的一個字典;
sys.displayhook()
呼叫以在互動會話中顯示結果;用法再補充吧;
sys.excepthook()
處理異常會用到。用法再補充吧;
sys.stdin
列印標準輸入的屬性;
sys.stdout
列印標準輸出的屬性;
sys.stderr
列印標準錯誤的屬性;
靜態資訊:
sys.builtinmodulenames
以元組形式返回內建模組名稱;
sys.copyright
列印copyright資訊;沒用;
sys.exec_prefix
查詢當前python的安裝目錄,並返回絕對路徑
sys.executable
查詢當前python的直譯器程式,並返回絕對路徑
sys.float_info
列印浮點型別有關資訊
sys.floatreprstyle
以後補充吧;
sys.hash_info
列印雜湊型別有關資訊
sys.hexversion
列印單個整數的編碼資訊
sys.implementation
列印python實現的資訊
sys.int_info
列印整型的資訊;
sys.maxsize
列印容器支援的最大的長度;
sys.maxunicode
unicode編碼的最大值
sys.platform
列印平臺資訊,如linux、win32等
sys.prefix
列印當前python的安裝目錄;打印出絕對路徑;
sys.thread_info
列印執行緒實現的資訊;
sys.version
列印python直譯器的具體版本;
sys.version_info
以元組形式列印python直譯器的版本;
sys.dllhandle
列印python dll的控制代碼;
sys.winver
列印python 庫的版本
方法:
call_tracing(...)
call_tracing(func, args) -> object
呼叫函式,並啟用追蹤;用法再補充;
callstats(...)
callstats() -> tuple of integers
如果定義了call_profile,當Python被構建時,返回一個元組的函式呼叫統計。否則,沒有返回。返回元組的內容詳見官方;
displayhook(...)
displayhook(object) -> None
列印一個物件並將它儲存在內建sys.stdout。用法再補充;
exc_info(...)
exc_info() -> (type, value, traceback)
返回最近捕獲的異常的資訊。
excepthook(...)
excepthook(exctype, value, traceback) -> None
通過顯示它在sys.stderr回溯處理異常
exit(...)
exit([status])
指定退出狀態;如果沒有指定,則退出0表示成功;退出1表示失敗;如果指定了整數,則退出為該整數;如果指定了物件,則列印該物件;
getasyncgenhooks(...)
get_asyncgen_hooks()
再補充吧;
getcoroutinewrapper(...)
get_coroutine_wrapper()
這個也再補充吧
getallocatedblocks(...)
getallocatedblocks() -> integer
返回當前分配的記憶體塊數,而不管它們的大小。
getcheckinterval(...)
getcheckinterval() -> current check interval; see setcheckinterval().
sys.getcheckinterval sys.setcheckinterval 執行緒切換前python指令執行條數(GIL)
getdefaultencoding(...)
getdefaultencoding() -> string
獲取當前預設的字串編碼;
getfilesystemencodeerrors(...)
getfilesystemencodeerrors() -> string
返回用於轉換Unicode檔名的作業系統檔案的錯誤模式。
getfilesystemencoding(...)
getfilesystemencoding() -> string
返回使用的編碼轉換成Unicode檔名的作業系統檔名。
getprofile(...)
getprofile()
根據sys.setprofile返回分析函式集。
getrecursionlimit(...)
getrecursionlimit()
返回遞迴限制的當前值,即Python直譯器堆疊的最大深度。此限制防止無限遞迴導致C堆疊溢位和崩潰的Python。
getrefcount(...)
getrefcount(object) -> integer
返回物件的引用計數。
getsizeof(...)
getsizeof(object, default) -> int
以位元組(b)為單位返回物件的大小。1B=8b
getswitchinterval(...)
getswitchinterval() -> current thread switch interval; see setswitchinterval().
gettrace(...)
gettrace()
根據sys.settrace返回全域性除錯跟蹤功能設定。
getwindowsversion(...)
getwindowsversion()
獲取當前windows版本資訊;僅在windows下使用。
intern(...)
intern(string) -> string
以後補充;
is_finalizing(...)
is_finalizing()
如果python退出,則返回True.
setasyncgenhooks(...)
set_asyncgen_hooks(*, firstiter=None, finalizer=None)
設定一個非同步生成器的物件
setcoroutinewrapper(...)
set_coroutine_wrapper(wrapper)
設定一個協同物件包裝。
setcheckinterval(...)
setcheckinterval(n)
告訴Python直譯器每n個指令檢查非同步事件。這也會影響執行緒切換的頻繁發生。
setprofile(...)
setprofile(function)
設定剖析功能。它將在每個函式呼叫和返回時呼叫。
setrecursionlimit(...)
setrecursionlimit(n)
將Python直譯器堆疊的最大深度設定為n。這個限制防止無限遞迴導致C堆疊溢位和崩潰Python。最大可能的限制是依賴於平臺的。
setswitchinterval(...)
setswitchinterval(n)
在Python直譯器中設定理想的執行緒切換延遲,如果直譯器執行長的不間斷程式碼序列(這是特定於實現的和工作量相關的),那麼交換執行緒的實際頻率可能會更低。
引數必須在秒內代表期望的開關延遲,典型值是0.005(5毫秒)。
settrace(...)
settrace(function)
設定全域性除錯跟蹤功能。它將在每個函式呼叫時被呼叫。