timmy / Wake on LAN (WOL)
0 likes
0 forks
1 files
Last active 10 months ago
這段 Python 程式碼 用於 實現 Wake-on-LAN (WOL),它能透過 網路廣播 (UDP) 發送 Magic Packet,來喚醒遠端電腦(如伺服器或 NAS)。
| 1 | import socket |
| 2 | |
| 3 | |
| 4 | class WakeOnLan: |
| 5 | """ |
| 6 | WOL(Wake on LAN) |
| 7 | """ |
| 8 | |
| 9 | def __init__(self, macaddress): |
| 10 | try: |
timmy / 簡單線性回歸股價預測
0 likes
0 forks
1 files
Last active 10 months ago
這段 Python 程式碼 使用 scikit-learn (sklearn) 建立簡單的線性回歸模型,根據 過去幾天蘋果公司的股價 訓練模型,並 預測未來股價變化。
| 1 | #!/usr/bin/env python |
| 2 | # -*- coding: utf-8 -*- |
| 3 | |
| 4 | |
| 5 | """ |
| 6 | a_simple_linear_regression_model.py: 透過使用 Python 的 sklearn 套件,訓練一個簡單的線性回歸模型,並使用該模型預測蘋果公司的股價變化。 |
| 7 | |
| 8 | Author: Timmy |
| 9 | Copyright: Copyright 2022, Timmy |
| 10 | License: MIT |
timmy / Dash 下拉選單範例
0 likes
0 forks
1 files
Last active 10 months ago
這段 Python Dash 程式碼建立了一個 簡單的網頁應用,包含 下拉選單 (Dropdown),允許使用者選擇 Montréal、Tokyo 或 北京。
| 1 | # -*- coding: utf-8 -*- |
| 2 | |
| 3 | import dash |
| 4 | from dash import html |
| 5 | from dash import dcc |
| 6 | |
| 7 | print(dcc.__version__) |
| 8 | external_stylesheets = ["https://codepen.io/chriddyp/pen/bWLwgP.css"] |
| 9 | |
| 10 | app = dash.Dash( |
Last active 10 months ago
這段程式碼透過嘗試建立與 Google DNS 伺服器(8.8.8.8 的 53 埠)的 TCP 連線,來檢查網路是否正常連接,成功連線表示網路通暢,否則則視為網路有問題。
| 1 | import socket |
| 2 | |
| 3 | def is_connected(host='8.8.8.8', port=53, timeout=3): |
| 4 | """ |
| 5 | 嘗試連線到指定的 host 與 port,預設為 Google 的 DNS 伺服器。 |
| 6 | """ |
| 7 | try: |
| 8 | socket.setdefaulttimeout(timeout) |
| 9 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
| 10 | s.connect((host, port)) |
timmy / Ping 網路連線檢查工具
0 likes
0 forks
1 files
Last active 10 months ago
這段程式碼透過多次執行系統的 ping 指令來測試指定主機(預設為 8.8.8.8)的連線狀態,並根據多次成功的回應判斷網路是否穩定連通。
| 1 | import subprocess |
| 2 | import platform |
| 3 | import time |
| 4 | |
| 5 | def ping_once(host): |
| 6 | """ |
| 7 | 使用系統的 ping 指令對指定 host 發送一次封包, |
| 8 | 回傳 True 代表 ping 成功,False 代表失敗。 |
| 9 | """ |
| 10 | # 根據作業系統決定參數:Windows 用 -n,其他平台用 -c |
timmy / YAML 檔案讀寫與資料管理
1 likes
0 forks
1 files
Last active 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 / 檢查 Python 版本是否受 Streamlit 支援
0 likes
0 forks
1 files
Last active 10 months ago
這段程式碼適合用於開發或部署 Streamlit 應用時,確保運行的 Python 版本符合 Streamlit 的支援範圍,避免因版本不符而導致問題。
| 1 | import sys |
| 2 | |
| 3 | class PythonVersionChecker: |
| 4 | def __init__(self, supported_versions): |
| 5 | self.supported_versions = supported_versions |
| 6 | |
| 7 | def get_current_version(self): |
| 8 | """取得當前的 Python 版本。""" |
| 9 | return sys.version_info[:2] |
timmy / Telegram Bot 通知系統
0 likes
0 forks
2 files
Last active 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 / 磁碟使用量查詢 API
0 likes
0 forks
1 files
Last active 10 months ago
這段程式碼建立了一個簡單的 HTTP 伺服器,透過 /disk-usage API 端點提供磁碟空間使用狀況的查詢功能。使用者可以透過 GET 請求並指定 path 參數來獲取該目錄的總空間、已使用空間、可用空間及使用率,適用於系統監控或遠端管理工具。
| 1 | import json |
| 2 | from http.server import BaseHTTPRequestHandler, HTTPServer |
| 3 | from urllib.parse import urlparse, parse_qs |
| 4 | import shutil |
| 5 | |
| 6 | |
| 7 | class DiskUsage: |
| 8 | def __init__(self, path="/"): |
| 9 | self.path = path |
timmy / 檢查硬碟空間使用情況
0 likes
0 forks
1 files
Last active 10 months ago
這段程式碼透過 DiskUsage 類別來檢查指定路徑的磁碟空間使用情況,包括總空間、已使用空間、可用空間及使用率,並提供 format_size 方法將數值轉換成人類可讀的格式(如 KB、MB、GB)。適用於系統監控、伺服器管理或儲存資源分析。
| 1 | import os |
| 2 | import shutil |
| 3 | |
| 4 | class DiskUsage: |
| 5 | def __init__(self, path="/"): |
| 6 | """ |
| 7 | 初始化 DiskUsage 類別,指定檢查的路徑(預設為根目錄 /)。 |
| 8 | |
| 9 | :param path: 要檢查的檔案系統路徑。 |
| 10 | """ |