timmy / 使用 traceback 來捕捉與記錄異常

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year 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 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year 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 / 讀取 .env 環境變數

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
使用 dotenv 套件從 .env 檔案載入環境變數,適用於配置 API 金鑰、資料庫連線等設定,避免將敏感資訊直接寫入程式碼。
1 import os
2 from pathlib import Path
3 from dotenv import load_dotenv
4
5 BASE_DIR = Path(__file__).resolve().parent
6 ENV_PATH = BASE_DIR.parent / "config" / ".env"
7
8 load_dotenv(ENV_PATH)
9
10 # 讀取環境變數

timmy / Python 字串格式化

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
Python 提供多種字串格式化方法,f-string(Python 3.6+)更直觀且效能較佳,而 str.format() 適用於較舊版本。這些方法常用於動態組合字串,如建立 URL、日誌輸出或命令構造。
1 url = f"http://localhost:{args.port}"
2
3 url = "http://localhost:{}".format(args.port)

timmy / 使用 multiprocessing 啟動多個 Flask 伺服器

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
此程式使用 multiprocessing 啟動 3 個獨立的 Flask 伺服器,分別監聽 5000、5001 和 5002 埠號,讓不同的請求可以並行處理,提高效能,適用於多埠測試或模擬多個 API 服務。
1 from flask import Flask
2 import multiprocessing
3
4 # 建立 Flask 應用程式
5 def create_app(port):
6 app = Flask(__name__)
7
8 @app.route('/')
9 def home():
10 return f"Hello from port {port}!"

timmy / 使用 threading.Timer 延遲開啟網頁

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
此程式透過 threading.Timer 延遲指定秒數後,自動開啟指定的 URL。適用於自動化測試、提醒功能或延遲啟動特定網頁,確保主程式不中斷的情況下執行非同步操作。
1 import threading
2 import webbrowser
3
4 def open_url(url):
5 """ 開啟指定的 URL """
6 webbrowser.open(url, new=2)
7
8 # 設定延遲時間(秒)
9 delay = 2
10 url = "https://www.example.com"

timmy / Flask 簡單 Web 伺服器

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
此程式使用 Flask 建立一個簡單的 Web 伺服器,並允許使用命令列指定埠號。預設監聽所有網卡 (0.0.0.0),支援多執行緒處理,提高併發能力,適合作為輕量級 API 或網頁應用的基礎。
1 # 匯入 Flask 框架,用於建立 Web 應用程式
2 from flask import Flask
3 import argparse # 匯入 argparse 來解析命令列參數
4
5 # 建立 Flask 應用程式實例
6 app = Flask(__name__)
7
8 # 定義根路由,當用戶訪問 "/" 時返回 "Hello, Flask!"
9 @app.route('/')
10 def home():

timmy / 使用 Streamlit st.session_state 管理可編輯 DataFrame

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
透過 st.session_state 讓 Streamlit 應用能夠保存並管理可編輯的 DataFrame,避免頁面重整導致資料丟失,適用於數據管理與即時編輯應用。
1 import streamlit as st
2 import pandas as pd
3
4 def main():
5 # 初始化 session_state
6 if "data" not in st.session_state:
7 st.session_state.data = pd.DataFrame({
8 "ID": [1, 2, 3],
9 "Name": ["Alice", "Bob", "Charlie"],
10 "Age": [25, 30, 35],

timmy / 使用 Python 開啟網頁 (open_browser.py)

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
此範例使用 webbrowser 模組在系統的預設瀏覽器中開啟指定網址,適用於自動化 Web 存取、快速開啟文件或 Web 應用程式。
1 import webbrowser
2
3 # 指定要開啟的網址
4 url = "https://www.python.org"
5
6 # 在預設瀏覽器中開啟網址
7 webbrowser.open(url)