python

Python module - jsonschema Part 2

本文為 Python module - jsonchema 一系列教學文:

上一篇 Python module - jsonschema Part 1 中,介紹了 JSON Schema 的 6 種資料型別與驗證 JSON Schema 的方法。

本篇將會更進一步介紹幾種型別( number , string , array , object )更複雜的用法。

Posted on  Mar 23, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 4 min read

Python module - jsonschema Part 1

本文為 Python module - jsonchema 一系列教學文:

JSON 目前資料交換格式的主流之一,然而如果要在程式中驗證 JSON 資料的格式是否正確,就需要花費一些心力撰寫驗證的程式碼。所幸現在有 JSON Schema 可以讓驗證 JSON 格式簡單化,如果是以 JSON 作為資料交換格式的 API ,可以考慮使用 JSON Schema 進行驗證。

JSON Schema is a vocabulary that allows you to annotate and validate JSON documents.

Posted on  Mar 20, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 3 min read

Python module - Babel

一般在處理 i18n, l10n 時,通常會遇到時間格式、貨幣、語系、地區、官方語言等問題,例如需要針對不同語系的使用者,顯示不同語系的的國家名稱,這時候不妨考慮使用 Babel 幫忙處理這些瑣事。

Babel is an integrated collection of utilities that assist in internationalizing and localizing Python applications, with an emphasis on web-based applications.

Posted on  Mar 18, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 4 min read

Python - 善用 maketrans, translate 轉換全型數字

進行資料處理時,時常會需要針對一些特殊字元進行轉換,維持資料的一致性。例如,日本人很常輸入全型數字(FULLWIDTH DIGIT),就需要轉為半型數字比較恰當。

但此時用 replace 瘋狂取代就不適合了,可以考慮看看內建的 maketranstranslate 幫忙轉換的工作。

Posted on  Mar 16, 2018  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 1 min read

Python string.Formatter - 取得 format string 中的 placeholders

有時候我們需要取得 format string(例如: This is a format string: Hello, {name} )中的 placeholders(例如: {name} )進行比較,例如檢查翻譯人員是否不小心把翻譯字串中的 placeholder 給遺漏了,因為這可能會造成翻譯後的字串漏字。

所幸這種需求可以透過 string.Formatter 幫忙取得字串中的 placeholders 。

Posted on  Mar 14, 2018  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 2 min read

Python threading event objects 溝通範例教學

The simplest mechanisms for communication between threads: one thread signals an event and other threads wait for it.

Threads(執行緒)之間溝通最簡單的方式,即是透過 Event Objects ,這種方式通常應用在 1 個 thread 發起 1 個 event ,然後其他 threads 會等待發出 event 的 thread ,譬如 1 個發號施令的 thread ,其他 threads 會等待該 thread 發號施令後才開始工作。

Last updated on  Jul 24, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 2 min read