05 - 常用內建模組

04-函式 | 下一篇 → 06-速查表


os — 檔案系統操作

import os
 
os.getcwd()                    # 取得目前工作目錄
os.listdir(".")               # 列出目錄內容
os.path.exists("file.txt")    # 確認檔案是否存在
os.path.join("folder", "file.txt")   # 組合路徑(跨平台安全)
os.makedirs("new/folder", exist_ok=True)  # 建立資料夾

math — 數學計算

import math
 
math.sqrt(16)      # 4.0(開根號)
math.ceil(3.2)     # 4(無條件進位)
math.floor(3.8)    # 3(無條件捨去)
math.pi            # 3.14159...
math.log(100, 10)  # 2.0(log 以 10 為底)

random — 隨機數

import random
 
random.random()            # 0.0 到 1.0 的隨機浮點數
random.randint(1, 100)     # 1 到 100 的隨機整數
random.choice([1, 2, 3])   # 隨機選一個元素
random.shuffle([1, 2, 3])  # 隨機打亂(in-place)
random.sample([1,2,3,4,5], 3)  # 不重複抽取 3 個

datetime — 日期時間

from datetime import datetime, date, timedelta
 
now = datetime.now()
print(now)                    # 2026-04-22 12:34:56.789
print(now.strftime("%Y-%m-%d"))  # 2026-04-22
 
today = date.today()
yesterday = today - timedelta(days=1)
 
# 計算時間差
d1 = date(2026, 1, 1)
d2 = date(2026, 4, 22)
diff = d2 - d1
print(diff.days)    # 111

json — JSON 處理

import json
 
# dict → JSON 字串
data = {"name": "Andrew", "age": 28}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
 
# JSON 字串 → dict
parsed = json.loads(json_str)
 
# 讀寫 JSON 檔案
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)
 
with open("data.json", "r", encoding="utf-8") as f:
    loaded = json.load(f)

安裝第三方套件(pip)

# 安裝套件
pip install requests
 
# 查看已安裝套件
pip list
 
# 產生 requirements.txt(記錄相依套件)
pip freeze > requirements.txt
 
# 從 requirements.txt 安裝
pip install -r requirements.txt

常用第三方套件

套件用途
requestsHTTP 請求(爬蟲、API)
pandas資料分析
numpy數值計算
matplotlib資料視覺化
flask輕量 Web 框架
selenium瀏覽器自動化

04-函式 | 下一篇 → 06-速查表