Python 程式設計 - 中階

Python unittest 模組教學 part 1

本文是 Python unittest 模組的教學: Python unittest 模組教學 Part 1 Python unittest 模組教學 Part 2 本篇談談 Python 的 unittest 模組。 顧名思義, unittest 就是專門做單元測試(unit test)的模組。 從 Python 2.1 開

Last updated on  Mar 20, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 5 min read

Python 密技 - CSVDictWriter 搭配 defaultdict 省時又省力

Python 的 CSVDictWriter 是很方便的模組,可以直接使用 dict 資料寫入到 CSV 檔案,其用法大致如下:

import csv

with open('my.csv', 'w') as csvf:
    writer = csv.DictWriter(csvf, fieldnames=[
        'field_1',
        'field_2',
        'field_3'
    ])

    writer.writeheader()
    writer.writerow({'field_1': '', 'field_2': 'b', 'field_3': ''})
    writer.writerow({'field_1': '', 'field_2': 'b', 'field_3': ''})

CSVDictWriter 雖然方便,但是如果 row 裡有缺少任何一個 field 都會停止執行,所以遇到欄位很多,而且又不見得每一個欄位都有值的情況就糟糕了,真的要手動打完所有欄位的值嗎?

其實只要搭配 defaultdict 就解決這個問題了。

Posted on  Sep 2, 2016  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 1 min read

Pytest 教學

建議本文的閱讀者可以先看過 Python unittest 了解基本觀念之後再閱讀本文。

俗話說的好:「不學測試,無以立。」想寫得一手好程式就從測試著手。

雖然 Python 內建 unittest,但畢竟還是有些許不便之處。基於不重新造輪的哲學,就來學一套坊間人人稱頌的pytest 吧!

Posted on  Mar 22, 2016  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 4 min read