Python 的 with 語法使用教學:Context Manager 資源管理器

這裡介紹 Python 的 with 使用方法,以及自行建立 context manager 的方法與範例程式碼。 資源的管理在程式設計上是一個很常見的問題,例如管理開啟的檔案、網路 socket 與各種鎖定(locks)等,最主要的問題點就在於我們必須確保這些開啟的資源在使用完之後,有確實被關閉(或釋放),如果忘記關閉這些資源,就會造成程式執行上的效能問題,甚至出現錯誤,而除了關閉之外,有些特殊的資源在使用完畢之後,還必須進行一些後續的清理動作,這些也都是資源管理上需要注意的。 ...

August 30, 2017 · G. T. Wang

Linux 以 tnef 解開電子郵件 winmail.dat 附加檔案教學

這裡介紹如何在 Linux 中開啟 winmail.dat 這種電子郵件的附加檔案。 以 Outlook 或 Microsoft Exchange 寄出電子郵件時,有時後會把信件以 TNEF(Transport Neutral Encapsulation Format)格式的方式打包起來,如果使用其他收信軟體閱讀信件時,就會出現一個無法閱讀的 winmail.dat 附件。 ...

August 29, 2017 · G. T. Wang

Linux I/O 輸入與輸出重新導向,基礎概念教學

本篇介紹 Linux I/O 輸入與輸出重新導向的入門概念與使用方式,並提供一些範例指令稿。 I/O 的重新導向是 Linux 系統中很重要的一個特性,它可以讓我們任意串接各種程式的輸入與輸出、將資料導入檔案或從檔案中導出資料,結合多種 Linux 指令,組成任意的「指令管線」(command pipeline)。 ...

August 28, 2017 · G. T. Wang

Python 列出目錄中所有檔案教學:os.listdir 與 os.walk

這裡介紹如何在 Python 中列出目錄中的檔案,並且配合各種篩選方式,取得符合條件的檔案列表。 在使用 Python 開發處理檔案的程式時,時常會需要把一個目錄中的檔案名稱全部列出來,然後再使用迴圈對每一個檔案進行後續的處理,以下是各種取得目錄中所有檔案名稱的方法與範例程式碼。 ...

August 26, 2017 · G. T. Wang

Bash 程式設計教學:開啟 TCP/UDP Socket 網路連線

這裡示範如何使用 bash 指令稿開啟 TCP/UDP 的 socket,進行各種網路診斷工作。 作為網管或是 Linux 系統管理者,使用 netcat、wget 或 curl 這類的指令檢查遠端伺服器的網路服務應該算是基本技能,而且是時常會需要做的工作之一,但是如果遇到系統上沒有這類的工具可用時,我們就可以改用 bash shell 內建的一些功能來達到類似的效果。 ...

August 25, 2017 · G. T. Wang