Tag: Python

Python 串列(list) 排序方法

以下會列出在 Python 排序串列(list) 的方法, 包括數值及字串進行順序或倒序排序。數值排序使用 sort 方法, 可以對串列內的數值 (包括整數及浮點數) 進行排序: 上面程式碼對 myList 串列排序, 執行結果是:上面所使用的 sort 方法會改變原本的串列排序, 但如果想保留原本的串列排序, 那便要用 sorted 函式, 例如: 執行結果與上面的例子一樣, 分別是保留原來 myList 的排序, 將新結果放入新建立的串列 newList 內. …

Shell Script 使用 #!/usr/bin/env

在 Shell Script 的第一行稱為 shebang, shebang 由 “#!” 開頭, 並在後面加上解譯器的絕對路徑, 即類似:#!/bin/sh #!/bin/bash #!/usr/bin/perl #!/usr/bin/python如果 Shell Script 不同的平台執行, 指定的解譯器可能位置有所不同, 如果想增加 Shell Script 在不同 Unix Like 環璄的可流動性, 可以使用 /usr/bin/env 作為 shebang.使用方法只要在 /usr/bin/env …

產生 /etc/shadow 格式的加密密碼

Linux 將系統帳號關於密碼的資訊儲存在檔案 /etc/shadow, 而密碼是經過加密。不論基於任何原因, 如果需要手動編輯 /etc/shadow 的密碼, 便需要產生一個與 /etc/shadow 使用相同加密方式的密碼。而且不用安裝其他工具, 用 Python 便可以產生這個加密密碼。在 shadow 內的加密密碼, 以下列格式儲存:$ID$SALT$ENCRYPTED上面的 $ID 是加密方式, $SALT 是一個最多 16 位的隨機字串, $ENCRYPTED 則是 password hash.其中 $ID 分別有以下幾種:$1 -> MD5 …

Python Dictionary key 及 value 排序

要在 Python Dictionary 的 key 及 value 做排序,可以用以下方法:key 排序: 以上會將 mydict 進行以 key 的排序,執行結果是:Alan: 30 Danny: 15 Ethan: 20 Ivy: 10value 排序: 以上會將 mydict 的 value 進行排序,執行結果是:Ivy: 10 Danny: 15 …

Python 詢問使用者 yes / no

編寫在 CLI 執行的程式, 很多時都會用到詢問使用者 yes / no 是否執行, 以下記錄一下在 Python 的寫法:例如:上面程式很簡單詢問是否繼續, 如果輸入 “yes” 則會輸出 “Hello World!”.上面程式必須輸入 “yes” 才會輸出 “Hello World!”, 如果輸入 “Yes” 則不會繼續, 其中一個方法是將 if 判斷式加入多一個選項, 例如改成這樣:上面程式碼對輸入 “yes” 及 “Yes” …

vim 把 Tab 轉換為 4 Space

以前習慣用 Tab 來做縮排,在用 Sublime Text 沒什麼關係,Tab 跟 4 個空格的長度一致,但近年經常用 vim 直接在 CLI 寫程式,當程式需要多層判斷式或迴圈時,很多時在終端機會看得很辛苦,因為在 vim 顯示 Tab 會比 4 個空格的距離還長。所以還是用 4 個空格取代 Tab 較方便,以下是在 vim 及 Sublime Text 按下 Tab 鍵時,自動用 …

Python for 用法

Python 的 for 迴圈十分好用,除了以下像其他程式語言的用法外:for( i=10; ifor 語法:for iterating_var in sequence: statements(s)使用例子: 上面第一個例子會將字串 “Linux” 逐個字母印出,第二個例子會將陣列內所有內容逐一印出,以上程式碼執行的結果是: Letter: L Letter: i Letter: n Letter: u Letter: x Language: Python Language: PHP Language: Perl …

Python 寫入檔案的 4 個方法

在 Python 寫入檔案內容跟讀取檔案差不多, 也很簡單方便,以下會介紹用 Python 逐行讀取檔案內容的 4 種方法。在看例子前先要了解開啟檔案的參數, 一般上讀取檔案會用 “r”, 即唯讀的意思, 如果要寫入檔案, 分別可以用 “w” (即 write 的意思) 或 “a” (即 append 附加的意思), 兩者的分別在於: 如果檔案原本已經存在, “w” 會將寫入的內容直接覆蓋原來的檔案內容; 而 “a” 則會在原來的內容後面加入新內容。兩者不可以混淆, 如果原本要用 …

Python 在 CLI 輸出顏色文字

在 CLI 下執行的小工具,將輸出結果以不同顏色呈現,對可讀性有很大幫助,在 Python 要控制輸出文字的顏色,做法與 html 相似,只是使用 ANSI escape codes 控制顏色輸出。顯示顏色文字的顏色編號及格式如下:以下是樣式、顏色及背景顏色的可供選項:文字樣式: 0 一般樣式 1 粗體 4 加底線 5 灰底 7 文字及背景顏色對調文字顏色: 30 黑色 31 紅色 32 綠色 33 黃色 34 …