timmy / 使用 traceback 來捕捉與記錄異常
0 polubień
0 forków
1 plików
Ostatnio aktywne 9 months ago
traceback 模組可用於捕捉、格式化和記錄 Python 例外發生時的詳細資訊,有助於錯誤診斷與日誌記錄。
| 1 | import traceback |
| 2 | |
| 3 | def faulty_function(): |
| 4 | return 1 / 0 # 這將觸發 ZeroDivisionError |
| 5 | |
| 6 | try: |
| 7 | faulty_function() |
| 8 | except Exception as e: |
| 9 | error_message = f"Exception occurred: {str(e)}" |
| 10 | stack_trace = traceback.format_exc() |
timmy / 使用 addaudithook 監聽 Python 審計事件
0 polubień
0 forków
1 plików
Ostatnio aktywne 9 months ago
addaudithook 可用來監聽 Python 內部的安全性相關事件,例如模組導入、檔案存取或執行系統命令,可用於安全監控、日誌記錄或限制不安全的操作。
| 1 | import sys |
| 2 | |
| 3 | def audit_hook(event, args): |
| 4 | print(f"Audit event: {event}, Arguments: {args}") |
| 5 | |
| 6 | # 註冊審計鉤子 |
| 7 | sys.addaudithook(audit_hook) |
| 8 | |
| 9 | # 觸發一些事件 |
| 10 | open("test.txt", "w").write("Hello") # 檔案寫入事件 |
timmy / 進階 Mixin 設計與用戶管理
0 polubień
0 forków
1 plików
Ostatnio aktywne 10 months ago
此 Python 程式使用多個 Mixin,提供日誌記錄、時間標記、資料儲存、權限管理、事件監聽與異常處理功能,使 User 類別具備完整的資料管理與行為追蹤能力,適用於使用者管理與系統監控應用。
| 1 | import datetime |
| 2 | import json |
| 3 | import traceback |
| 4 | |
| 5 | class LoggingMixin: |
| 6 | """ 提供日誌功能的 Mixin 類別 """ |
| 7 | |
| 8 | def log(self, message): |
| 9 | """ 記錄日誌 """ |
| 10 | timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
timmy / 進階 Mixin 設計與用戶管理
0 polubień
0 forków
1 plików
Ostatnio aktywne 10 months ago
此 Python 程式使用多個 Mixin,提供日誌紀錄、時間標記、數據儲存與權限管理功能,適用於構建可擴展的用戶管理系統,提升代碼的模組化與可重用性。
| 1 | import datetime |
| 2 | |
| 3 | class LoggingMixin: |
| 4 | """ 提供日誌功能的 Mixin 類別 """ |
| 5 | |
| 6 | def log(self, message): |
| 7 | """ 簡單的日誌紀錄方法 """ |
| 8 | timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
| 9 | print(f"[{timestamp}] {self.__class__.__name__}: {message}") |
timmy / 進階 Mixin 設計 (Advanced Mixin Design)
0 polubień
0 forków
1 plików
Ostatnio aktywne 10 months ago
| 1 | import datetime |
| 2 | |
| 3 | class LoggingMixin: |
| 4 | """ 提供日誌功能的 Mixin 類別 """ |
| 5 | |
| 6 | def log(self, message): |
| 7 | """ 簡單的日誌紀錄方法 """ |
| 8 | timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
| 9 | print(f"[{timestamp}] {self.__class__.__name__}: {message}") |
Ostatnio aktywne 10 months ago
此程式使用 pretty_errors 改善錯誤輸出,並使用 icecream (ic) 進行簡潔的除錯訊息輸出,方便開發人員快速定位錯誤與分析變數內容,提高程式除錯效率。
| 1 | import pretty_errors |
| 2 | from icecream import ic |
| 3 | |
| 4 | |
| 5 | def configure_pretty_errors() -> None: |
| 6 | """ |
| 7 | 配置 pretty_errors 庫,用於更好的錯誤輸出。 |
| 8 | |
| 9 | 不需要任何參數。 |
| 10 | """ |
timmy / YAML 檔案讀寫與資料管理
1 polubień
0 forków
1 plików
Ostatnio aktywne 10 months ago
這段程式碼提供了一個 YAMLProcessor 類別,負責讀取和寫入 YAML 檔案(預設為 local_data.yaml),並將其內容轉換為 pandas.DataFrame 進行處理,適用於需要以表格形式操作 YAML 資料的應用場景。
| 1 | import os |
| 2 | import yaml |
| 3 | import pandas as pd |
| 4 | import logging |
| 5 | from typing import Any, Dict, List |
| 6 | |
| 7 | # 設定 logging 基本參數 |
| 8 | logging.basicConfig(level=logging.INFO) |
| 9 | logger = logging.getLogger(__name__) |
timmy / Telegram Bot 通知系統
0 polubień
0 forków
2 plików
Ostatnio aktywne 10 months ago
這段程式碼提供了一個 TelegramNotifier 類別,透過 Telegram Bot API 發送訊息到指定的聊天 ID (chat_id),並透過 loguru 記錄發送狀態。程式會從環境變數載入 Bot Token 和 Chat ID,並在啟動時發送通知,適用於自動化系統監控或事件提醒。
| 1 | TELEGRAM_BOT_TOKEN=你的_bot_token |
| 2 | TELEGRAM_CHAT_ID=你的_chat_id |
timmy / Python 錯誤日誌記錄
0 polubień
0 forków
1 plików
Ostatnio aktywne 10 months ago
| 1 | # 首先,引入 logging 模組 |
| 2 | import logging |
| 3 | |
| 4 | # 然後,建立一個 logfile,用來記錄錯誤訊息 |
| 5 | logging.basicConfig(filename="error.log", level=logging.ERROR) |
| 6 | |
| 7 | # 接下來,在你的程式中,當發生錯誤時,使用 logging.error() 來記錄錯誤訊息 |
| 8 | # 同時,把 backtrace 設定為 True,以便在錯誤發生時記錄回溯訊息 |
| 9 | try: |
| 10 | # 這裡是你的程式碼 |
Nowsze
Starsze