
Python 之所以能成為當今最熱門的程式語言,很大程度上歸功於它龐大且活躍的生態系。從網頁開發、數據分析到人工智慧,幾乎所有領域都有現成的函式庫 (Libraries) 可供使用。
本章將帶您探索 Python 的軍火庫——從內建的強大模組到第三方套件的管理,以及專業開發者必備的虛擬環境技能。
1. 內建標準函式庫 (Standard Library) 實戰
Python 宣稱 “Batteries Included”,意味著安裝好 Python 後,你就已經擁有處理各種任務的工具。以下介紹幾個最常用且強大的模組。
1.1 os 與 sys:與作業系統對話
這兩個模組是你與電腦檔案系統及環境變數互動的橋樑。
import os
import sys
# os 模組:檔案與目錄操作
current_dir = os.getcwd() # 取得當前目錄
file_path = os.path.join(current_dir, "data", "log.txt") # 跨平台路徑拼接 (重要!)
print(f"目前工作目錄: {current_dir}")
print(f"目標檔案路徑: {file_path}")
# 檢查檔案是否存在
if os.path.exists(file_path):
print("檔案存在")
else:
print("檔案不存在")
# sys 模組:系統參數
print(f"Python 版本: {sys.version}")
print(f"命令行參數: {sys.argv}") # 接收外部傳入的參數
1.2 datetime:時間處理大師
處理時間是程式設計中最容易踩雷的地方 (時區、格式轉換)。datetime 模組提供了標準解決方案。
from datetime import datetime, timedelta
# 獲取現在時間
now = datetime.now()
print(f"現在時間: {now}")
# 格式化輸出 (String Format Time)
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化後: {formatted}")
# 時間運算 (往回推 7 天)
last_week = now - timedelta(days=7)
print(f"上週此時: {last_week}")
# 解析字串為時間物件 (Parse Time)
date_str = "2024-01-01"
date_obj = datetime.strptime(date_str, "%Y-%m-%d")
print(f"解析後的年份: {date_obj.year}")
1.3 json:資料交換通用語
JSON (JavaScript Object Notation) 是現代 API 資料交換的標準格式。
import json
# Python 字典 -> JSON 字串 (序列化 Dumping)
data = {
"name": "Alice",
"skills": ["Python", "Git"],
"active": True
}
json_str = json.dumps(data, indent=4) # indent 用於美化輸出
print(json_str)
# JSON 字串 -> Python 字典 (反序列化 Loading)
parsed_data = json.loads(json_str)
print(f"姓名: {parsed_data['name']}")
2. 第三方套件與 PyPI
當標準函式庫無法滿足需求時,我們可以到 PyPI (Python Package Index) 尋找第三方套件。例如:requests (HTTP 請求)、pandas (數據分析)、django (網頁框架)。
我們使用 pip (Python Package Installer) 來管理這些套件。
常用 pip 指令
# 安裝套件
pip install requests
# 安裝特定版本
pip install requests==2.31.0
# 升級套件
pip install --upgrade requests
# 移除套件
pip uninstall requests
# 列出已安裝套件
pip list
3. 虛擬環境 (Virtual Environments):專案隔離的藝術
這是新手最容易忽略,但最重要的開發習慣。
為什麼需要虛擬環境?
假設專案 A 需要 Django 2.0,而專案 B 需要 Django 4.0。如果你把套件都安裝在全域環境 (Global Environment),版本衝突會讓其中一個專案無法運作。
虛擬環境為每個專案建立獨立的空間,互不干擾。
3.1 使用 venv 建立環境
Python 3.3+ 內建了 venv 模組。
# 1. 建立虛擬環境 (資料夾名稱通常叫 venv 或 .venv)
python3 -m venv venv
# 2. 啟用環境 (Windows)
venv\Scripts\activate
# 2. 啟用環境 (macOS/Linux)
source venv/bin/activate
啟用後,你的終端機提示字元前會出現 (venv),代表現在安裝的任何套件都只會存在於這個專案中。
3.2 管理依賴清單
在協作開發時,我們透過 requirements.txt 告訴隊友這個專案需要哪些套件。
# 導出當前環境的所有套件清單
pip freeze > requirements.txt
# (隊友使用) 根據清單一次安裝所有套件
pip install -r requirements.txt
4. 總結
掌握函式庫與環境管理,是從「寫程式腳本」進階到「開發專案」的分水嶺。
本章重點回顧:
- os/sys: 處理檔案路徑與系統參數。
- datetime: 處理時間計算與格式化。
- json: 處理資料序列化與反序列化。
- pip: 安裝與管理 PyPI 上的第三方套件。
- Virtual Environment: 務必為每個專案建立獨立環境,避免版本地獄 (Dependency Hell)。
下一章,我們將結合 os 模組與檔案讀寫技巧,深入探討 檔案輸入與輸出 (File I/O),學習如何高效地處理大量資料!
延伸閱讀: