<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python 模塊sys詳解

      一、模塊簡介

      sys 是 Python 的一個內置標準庫模塊,全名為 “System-specific parameters and functions”(系統特定參數與函數)。

      它提供了與 Python 解釋器操作系統交互 的接口,使開發者能夠訪問解釋器的運行環境、路徑信息、輸入輸出流、異常處理、退出控制等底層功能。


      二、模塊導入

      import sys
      

      導入后即可直接使用其中的屬性和函數,如:

      print(sys.version)
      print(sys.platform)
      sys.exit(0)
      

      三、常用屬性與方法總覽表

      分類 屬性/方法 說明 類型 / 返回值 示例
      版本信息 sys.version 獲取當前 Python 的版本號(含構建信息) str '3.12.1 (tags/v3.12.1:...)'
      sys.version_info 獲取版本元組(major, minor, micro, releaselevel, serial) tuple (3, 12, 1, 'final', 0)
      sys.hexversion 以十六進制返回版本信息 int 0x30c01f0
      解釋器信息 sys.executable 返回 Python 解釋器可執行文件路徑 str '/usr/bin/python3'
      sys.platform 返回操作系統平臺標識(如 'win32', 'linux', 'darwin' str 'win32'
      sys.byteorder 返回當前系統字節序('little''big' str 'little'
      sys.getdefaultencoding() 返回當前默認字符編碼 str 'utf-8'
      sys.getfilesystemencoding() 返回文件系統編碼 str 'utf-8'
      路徑與模塊管理 sys.path 當前模塊搜索路徑列表 list[str] ['/usr/lib/python3.12', ...]
      sys.path.append(path) 向模塊搜索路徑添加目錄 None sys.path.append('/opt/my_modules')
      sys.modules 字典:記錄已加載的模塊名 → 模塊對象映射 dict sys.modules['sys']
      標準輸入輸出 sys.stdin 標準輸入流對象 io.TextIOWrapper input_data = sys.stdin.read()
      sys.stdout 標準輸出流對象 io.TextIOWrapper sys.stdout.write("Hello\n")
      sys.stderr 標準錯誤流對象 io.TextIOWrapper sys.stderr.write("Error occurred\n")
      sys.__stdin__ / sys.__stdout__ / sys.__stderr__ 原始標準流(未被重定向的) io.TextIOWrapper 常用于恢復被修改的標準流
      命令行參數 sys.argv 命令行參數列表(第一個是腳本名) list[str] ['script.py', 'arg1', 'arg2']
      sys.argv[1:] 獲取實際參數 list[str] ['arg1', 'arg2']
      程序退出 sys.exit([status]) 終止程序并返回狀態碼,0表示正常退出 無返回 sys.exit(1)
      sys.exitfunc (Python ??.9) 注冊退出時執行的函數(已廢棄,建議用 atexit function
      異常信息 sys.exc_info() 返回最近一次異常信息 (type, value, traceback) tuple 用于異常調試
      sys.last_type, sys.last_value, sys.last_traceback 最近未捕獲異常的信息(交互模式下有效) 各種對象
      內存與性能 sys.getsizeof(obj) 返回對象所占字節數 int sys.getsizeof('abc')
      sys.getrefcount(obj) 返回對象引用計數(僅 CPython 有效) int sys.getrefcount(x)
      sys.getrecursionlimit() 返回當前遞歸深度限制 int 1000
      sys.setrecursionlimit(limit) 設置遞歸深度限制(慎用) None sys.setrecursionlimit(2000)
      sys.getswitchinterval() 線程切換間隔(秒) float 0.005
      sys.setswitchinterval(interval) 修改線程切換間隔 None sys.setswitchinterval(0.01)
      垃圾回收接口 sys.getallocatedblocks() 返回內存中分配的塊數(CPython 專有) int
      文件系統交互 sys.getfilesystemencodeerrors() 返回文件系統錯誤處理方式 str 'surrogateescape'
      交互環境 sys.ps1, sys.ps2 交互模式提示符(如 >>>... str '>>> '
      解釋器狀態控制 sys.is_finalizing() 判斷解釋器是否正在關閉 bool True / False

      四、核心功能詳解

      1?? 命令行參數處理:sys.argv

      # demo.py
      import sys
      print(sys.argv)
      

      執行命令:

      python demo.py hello world
      

      輸出:

      ['demo.py', 'hello', 'world']
      

      ? 應用場景:輕量命令行工具、批處理腳本、自動化執行。


      2?? 程序退出控制:sys.exit()

      if error_condition:
          sys.exit("發生錯誤,程序終止!")
      

      ?? 注意:

      • sys.exit() 會拋出 SystemExit 異常,可被 try/except 捕獲。
      • 參數可以是數字或字符串。

      3?? 標準輸入輸出重定向

      import sys
      
      # 輸出到文件
      with open('out.txt', 'w') as f:
          sys.stdout = f
          print("輸出被寫入文件中")
      
      # 恢復輸出
      sys.stdout = sys.__stdout__
      

      常用于日志重定向、捕獲 print 輸出。


      4?? 路徑管理與動態加載模塊

      import sys
      
      # 查看模塊搜索路徑
      print(sys.path)
      
      # 添加新模塊路徑
      sys.path.append('/opt/custom_modules')
      

      ? 應用場景

      • 臨時導入非標準庫或本地模塊;

      • 替代環境變量 PYTHONPATH 的快速調試方法。


      5?? 異常信息捕獲:sys.exc_info()

      import sys
      
      try:
          1 / 0
      except:
          exc_type, exc_value, exc_trace = sys.exc_info()
          print("異常類型:", exc_type)
          print("異常信息:", exc_value)
      

      輸出:

      異常類型: <class 'ZeroDivisionError'>
      異常信息: division by zero
      

      ? 應用場景

      • 自定義日志系統;

      • 異常鏈追蹤;

      • 深層調試。


      6?? 獲取解釋器環境信息

      import sys
      print(sys.version)
      print(sys.executable)
      print(sys.platform)
      

      ? 可用于:

      • 多平臺兼容判斷;

      • 打印運行環境診斷信息;

      • 跨系統執行腳本時自動調整行為。


      7?? 內存 & 性能監控函數

      函數 作用 示例
      sys.getsizeof(obj) 查看對象占用的內存字節數 sys.getsizeof([1,2,3]) → 80
      sys.getrefcount(obj) 查看對象引用次數(調試 GC 用) sys.getrefcount(x)
      sys.getallocatedblocks() 查看當前已分配內存塊數量 用于性能診斷

      五、使用技巧與實戰示例

      ? 獲取 Python 版本判斷邏輯

      import sys
      if sys.version_info < (3, 8):
          print("請使用 Python 3.8 及以上版本")
      

      ? 安全退出腳本并返回狀態碼

      import sys
      
      def main():
          if len(sys.argv) < 2:
              print("Usage: script.py <filename>")
              sys.exit(1)
          print(f"Processing {sys.argv[1]}")
      
      if __name__ == "__main__":
          main()
      

      ? 捕獲異常詳細日志

      import sys, traceback
      
      try:
          risky_function()
      except Exception:
          traceback.print_exception(*sys.exc_info())
      

      六、補充:平臺標識參考表

      平臺 sys.platform 說明
      Windows 'win32' 即使是 64 位系統也是 'win32'
      Linux 'linux''linux2'(舊版)
      macOS 'darwin'
      AIX 'aix' IBM UNIX 系統
      Android (PyDroid 等) 'linux' 與 Linux 相同

      七、總結

      領域 功能 常用成員
      環境信息 獲取版本、平臺、解釋器路徑 sys.version, sys.platform, sys.executable
      程序控制 退出、異常捕獲 sys.exit(), sys.exc_info()
      I/O流 控制輸入輸出重定向 sys.stdin, sys.stdout, sys.stderr
      路徑管理 管理模塊加載路徑 sys.path, sys.modules
      性能調優 獲取內存、遞歸限制 sys.getsizeof(), sys.setrecursionlimit()

      ?? 總結語

      sys 模塊雖小,卻是 Python 底層運行機制的“橋梁”,
      它讓你能直接觸及解釋器的“心臟”,控制執行流、管理資源、調試系統,是每位 Python 開發者必懂的核心模塊之一。

      posted @ 2025-10-29 20:51  kyle_7Qc  閱讀(41)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区三区免费观看| 人妻少妇精品无码专区| 强奷乱码中文字幕| 日韩乱码人妻无码中文字幕视频 | 中文字幕国产精品日韩| 国产精品亚洲av三区色| av无码小缝喷白浆在线观看| 亚洲综合网中文字幕在线| 18禁午夜宅男成年网站| 亚洲一区二区中文字幕| 亚洲国产片一区二区三区| 日韩不卡手机视频在线观看| 中文字幕日韩一区二区不卡| 老司机精品成人无码av| 成人网站免费观看永久视频下载| 午夜免费福利小电影| 国产精品三级中文字幕| 国产精品黄大片在线播放| 国产v亚洲v天堂a无码99| 国产精品综合在线免费看| 在线中文字幕第一页| 国产精品福利自产拍在线观看| 精品无码成人片一区二区| 中文字幕日韩有码一区| 国产乱码精品一区二区三上| 亚洲无线一二三四区手机| 亚洲男人天堂2018| 另类 专区 欧美 制服| 国产欧亚州美日韩综合区| 国产精品日日摸夜夜添夜夜添2021 | 狠狠色综合久久丁香婷婷| 亚洲精品国模一区二区| 浮妇高潮喷白浆视频| 国产亚洲精品第一综合| 高清有码国产一区二区| 中文字幕制服国产精品| 亚洲天堂伊人久久a成人| 绥德县| 亚洲国产日韩a在线亚洲| 一本久久a久久精品综合| 九九热在线视频免费观看|