網站首頁 編程語言 正文
sys作用
Python的sys模塊提供訪問由解釋器使用或維護的變量的接口,并提供了一些函數用來和解釋器進行交互,操控Python的運行時環境。
>>> import sys
常用變量
sys.version
返回Python解釋器版本號;用于某程序需要用指定版本號運行
>>> import sys >>> sys.version 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]
sys.maxsize
表示操作系統承載的最大int值
>>> import sys >>> sys.maxsize 9223372036854775807
sys.maxunicode
給出最大Unicode代碼點值的整數,即1114111(十六進制0x10FFFF)。
>>> import sys >>> sys.maxunicode 1114111
sys.path
當前腳本的path環境變量,如果沒有python就找到
>>> import sys >>> sys.path ['', 'D:\\Python3.8\\python38.zip', 'D:\\Python3.8\\DLLs', 'D:\\Python3.8\\lib', 'D:\\Python3.8', 'D:\\Python3.8\\lib\\site-packages']
sys.platform
返回操作系統平臺名稱,在編寫跨平臺應用時很有用
系統 | 返回值 |
---|---|
Windows | ‘win32’ |
Linux | ‘linux’ |
Mac | ‘darwin’ |
>>> import sys >>> sys.platform win32
sys.argv
將python腳本運行時的腳本名以及參數作為一個list,并輸出。實現從程序外部像程序內容傳遞參數
import sys print(sys.argv)
E:\Python> python 2.py hello python ['2.py', 'hello', 'python']
sys.executable
一個字符串,給出Python解釋器的可執行二進制文件的絕對路徑。如果Python無法檢索其可執行文件的真實路徑,sys.executable則將為空字符串或None。
>>> import sys >>> sys.executable 'D:\\Python3.8\\python.exe'
sys.byteorder
本地字節順序的指示符——在大端序(最高有效位優先)操作系統上值為 ‘big’ ,在小端序(最低有效位優先)操作系統上為 'little
>>> import sys >>> sys.byteorder 'little'
sys.version_info
包含版本號的五個組件的元組:major,minor, micro,releaselevel和serial。
>>> import sys >>> sys.version_info sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
sys.api_version
此解釋器的C API版本。
>>> import sys >>> sys.api_version 1013
sys.stdin/sys.stdout/sys.stderr
標準輸入、輸出、錯誤。
>>> import sys >>> sys.stdin <_io.TextIOWrapper name='' mode='r' encoding='utf-8'> >>> sys.stdout <_io.TextIOWrapper name=' ' mode='w' encoding='utf-8'> >>> sys.stderr <_io.TextIOWrapper name=' ' mode='w' encoding='utf-8'>
常用方法
sys.exit()
退出程序,正常退出時exit(0)
import sys print(sys.exit(0)) print(sys.exit(1))
sys.modules
返回系統導入的模塊字段,key是模塊名,value是模塊
>>> import sys >>> sys.modules {'sys':, 'builtins': , '_frozen_importlib': , '_imp': , '_warnings': , '_frozen_importlib_external': , '_io': , 'marshal': , 'nt': , '_thread': , '_weakref': , 'winreg': , 'time': , 'zipimport': , '_codecs': , 'codecs': , 'encodings.aliases': , 'encodings': , 'encodings.utf_8': , '_codecs_cn': , '_multibytecodec': , 'encodings.gbk': , '_signal': , '__main__': , 'encodings.latin_1': , '_abc': , 'abc': , 'io': , '_stat': , 'stat': , '_collections_abc': , 'genericpath': , 'ntpath': , 'os.path': , 'os': , '_sitebuiltins': , '_locale': , '_bootlocale': , 'types': , 'importlib._bootstrap': , 'importlib._bootstrap_external': , 'warnings': , 'importlib': , 'importlib.machinery': , 'importlib.abc': , '_operator': , 'operator': , 'keyword': , '_heapq': , 'heapq': , 'itertools': , 'reprlib': , '_collections': , 'collections': , '_functools': , 'functools': , 'contextlib': , 'importlib.util': , 'mpl_toolkits': , 'site': , 'atexit': }
sys.modules.keys()
返回所有已導入的模塊名列表
>>> import sys >>> sys.modules.keys() dict_keys(['sys', 'builtins', '_frozen_importlib', '_imp', '_warnings', '_frozen_importlib_external', '_io', 'marshal', 'nt', '_thread', '_weakref', 'winreg', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_codecs_cn', '_multibytecodec', 'encodings.gbk', '_signal', '__main__', 'encodings.latin_1', '_abc', 'abc', 'io', '_stat', 'stat', '_collections_abc', 'genericpath', 'ntpath', 'os.path', 'os', '_sitebuiltins', '_locale', '_bootlocale', 'types', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib', 'importlib.machinery', 'importlib.abc', '_operator', 'operator', 'keyword', '_heapq', 'heapq', 'itertools', 'reprlib', '_collections', 'collections', '_functools', 'functools', 'contextlib', 'importlib.util', 'mpl_toolkits', 'site', 'atexit'])
sys.getdefaultencoding()
返回Unicode實現使用的當前默認字符串編碼的名稱。
>>> import sys >>> sys.getdefaultencoding() 'utf-8'
sys.getfilesystemencoding()
返回用于在Unicode文件名和字節文件名之間進行轉換的編碼名稱
>>> import sys >>> sys.getfilesystemencoding() utf-8
sys.getrecursionlimit()
返回最大遞歸次數
>>> import sys >>> sys.getrecursionlimit() # 查看當前解釋器的最大遞歸深度 1000
sys.setrecursionlimit(num)
設置最大遞歸次數
>>> import sys >>> sys.setrecursionlimit(1100) # 將解釋器的最大遞歸深度設置為1100 >>> sys.getrecursionlimit() # 再次查看當前解釋器的最大遞歸深度 1100
sys.getsizeof()
獲取對象占用的內存大小(用字節表示)
>>> import sys >>> for obj in [int(), float(), list(), tuple(), set(), dict(), object]: ... print(str(obj.__class__).ljust(20), sys.getsizeof(obj)) ...24 24 56 40 216 232 416
sys.getrefcount(obj)
返回obj的引用計數。返回的計數通常比預期的高一個,因為它包含(臨時)引用作為參數。
>>> import sys >>> a = [1,2,3] >>> b = a >>> c = b >>> sys.getrefcount(a) 4
sys.exc_info()
獲取當前正在處理的異常類,exc_type
、exc_value
、exc_traceback
當前處理的異常詳細信息
>>> import sys >>> sys.exc_info() (None, None, None)
sys.getwindowsversion()
獲取Windows的版本,Windows系統中有效
>>> import sys >>> sys.getwindowsversion() sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack='')
sys.stdin.readline()
從標準輸入讀一行,會讀取末尾的換行符
sys.stdout.write()
向標準輸出寫入內容
>>> import sys >>> sys.stdout.write("hello world") hello world11
總結
原文鏈接:https://blog.csdn.net/yuan2019035055/article/details/123380466
相關推薦
- 2022-12-24 MobPush?for?Flutter集成準備_IOS
- 2023-04-11 Python中append淺拷貝機制詳解_python
- 2023-03-29 PyTorch中grid_sample的使用及說明_python
- 2023-12-25 Spring中使用注解開發
- 2022-05-20 Kafka 認證登錄注意事項
- 2022-09-17 Makefile構建Golang項目示例詳解_Golang
- 2022-04-10 C#實現計算器功能_C#教程
- 2022-06-09 使用Ajax實現進度條的繪制_AJAX相關
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支