Scripting

Perl 還是 Python,更適合 Unix 系統自動化?

  • March 10, 2011

我一直在使用bash我的大部分系統管理任務。我也知道一點perl。

我應該學習 Python還是Perl更適合系統自動化。到目前為止,從我的經驗來看,學習 perl 很容易。

簡短的回答:兩者都學。

作為系統管理員,您將同時遇到這兩種情況,因此您會想知道如何閱讀/排除故障/調試兩者。

至於編寫腳本,在過去的 10 年中,我主要使用 Perl 來編寫我的大部分系統管理實用程序和“粘合”腳本。它的正則表達式語法非常簡單,非常適合極快的腳本開發。當您必須在現場進行某些工作時,這一點非常重要。

最近我一直在努力使用更多的 Python,原因如下:

  • 編寫好的 Perl 需要大量的紀律。“quick n’dirty”腳本經常會隨著時間的推移而出現更多功能,但仍然以倉促的方式實施。不久之後,您就會擁有一個龐大的線路雜訊文件,這是一個需要維護的 PITA。
  • 與 Python 相比,在 Perl 中編寫 OO(甚至可重用)程式碼並不容易。相信我,從長遠來看,您需要大量可重用的程式碼(而不是剪切和粘貼!)
  • 與 Perl 的 TMTOWTDI 原則相比, Python 的原則 ( import this) 更適合與他人協作。如果您曾經閱讀過別人的 Perl,您可能知道解開它可能是最令人沮喪的事情。由於其設計,Python 遭受這種不可讀性問題的影響要小得多。更糟糕的是,當您多年後遇到自己的 Perl 時。你會想知道你一定是在什麼時候昏了過去。
  • 如果您的程式碼將要存在一段時間,那麼文件化很重要。在 Python 中編寫文件字元串比在 Perl 中編寫 pod 標記要容易得多。很簡單,你可以實際使用它。

我仍然經常使用 Perl,但現在更多的是用於單行腳本和只執行一次的“一次性”腳本。如果我認為我會再次編輯腳本,我會考慮使用 Python。

引用自:https://serverfault.com/questions/245086