引言眾所周知,python是一種強大的指令碼語言,那麼,問題來了,為什麼不用python來編寫linux指令碼呢?問題的答案就是python有os模組啊!這個os模組能夠讓你像在linux命令列中操作檔案一樣,在python中也實現同樣的功能,感覺它就是python天生用來替換bash的,而且它能夠呈現出一種更簡潔友好的指令碼體驗!
第一步;載入os模組
要想使用os模組的功能,第一步該怎麼做呢?當然是首先載入os模組了,就像在python中使用其它模組一樣,你只需輸入以下語句就可完成os模組的匯入。
好了,匯入os模組之後,就可以體驗不一樣的linux檔案操作命令了!接下來,將會介紹一些os模組下與linux檔案操作命令相對應的函式語句。
getcwd()
這條語句以字串的形式返回當前的工作目錄,不必向它傳遞任何引數,相當於linux下的pwd命令。
chdir()
chdir()語句和linux下的cd命令一樣用來切換工作目錄,呼叫這個函式時,只要將你想改變的檔案路徑以字串的形式作為變數輸入即可。
而且它也像cd命令一樣,支援相對路徑。具體看下面的操作;
listdir()
lisdir()相當於執行ls命令,然而不一樣的是,lisdir()並不列印出目錄下的內容,只是將其作為乙個列表返回。當然,你也可以指定特定的目錄,否則的話,它將會列出當前的目錄。
mkdir() and makedirs()
這兩個函式和linux下建立目錄的命令一樣,它們接受的第乙個引數都是建立的目錄,當然是以字串的形式,此外,還可以指定第二個引數來給建立的目錄賦予給定的許可權。
與mkdir()不一樣的是,makedirs()支援建立多層目錄,相當於執行mkdir()多次
chmod()
chmod()用來改變目錄的許可權,輸入的第乙個引數是要改變的目錄,第二個是要改變的許可權代號
chown()
chown()用來改變檔案的所有者,不過它要求使用者和群組的名稱都是有效的,例如
這個命令將"test"目錄的使用者和群組屬性都改為id號為1000的所有者
remove() and removedirs()
remove()用來刪除單個檔案,可以為它傳遞乙個絕對路徑。
刪除目錄用removedirs(),它可以刪除指定目錄下的所有內容。
system()
最後介紹的這個命令功能最強大,同時也是最危險的乙個。它可以執行linux系統下的所有命令,只要將命令當做引數傳遞給它即可。
不過,這裡有幾點需要注意下,第一,使用這個函式必須在python的終端下,而且,這個函式會占用較多的系統資源,通常是低效的。最重要的是,這個函式可以執行任何命令,意味著它也能夠產生任何你想不到的破壞。所以,如果你打算使用這個函式,請謹慎對待並確保它在可控範圍內。
現在,使用下面的命令來嘗試下system()吧!
當然,你也可以在其中使用管道符命令嘍
執行上面的命令,將會使火狐瀏覽器執行,命令列上將會打出它的程序資訊。
總結現在,你已經使用python向linux系統邁出了第一步。此外,python還提供了許多其它方便的工具,而這些東西本來是非常複雜的,由於python使它們變得更加好用。例如,比較流行的自動化工具ansible和salt就是用python做的。總而言之,沒有什麼是python不能做的,所以,趕緊get起來吧!
最後來點小練習:用python列印出你當前的工作目錄
改變並列印出乙個工作目錄
建立乙個迴圈,遍歷目錄的內容並單獨列印。
只用乙個命令建立乙個巢狀目錄
改變乙個資料夾的許可權,使目錄擁有者能夠讀取,寫入和執行,而其他人只有讀取和執行的許可權
刪除兩個子目錄
使用python建立乙個文字檔案,列出使用者當前正在執行的所有程序
英文原文:
譯者:mr chen
python模組 python模組介紹
一 簡介 模組是乙個包含所有你定義的函式和變數的檔案,其字尾名是.py。模組可以被其他程式匯入來使用模組具有的功能。這也是使用python標準庫的方式。首先使用import匯入time包,這樣意味著我們能夠使用time包裡的所有公共內容。最後利用time包的相關計時功能計算出該程式執行時長。呼叫模組...
python全部模組 Python 模組
python模組 模組讓你能夠有邏輯地組織你的python 段。把相關的 分配到乙個模組裡能讓你的 更好用,更易懂。模組也是python物件,具有隨機的名字屬性用來繫結或引用。簡單地說,模組就是乙個儲存了python 的檔案。模組能定義函式,類和變數。模組裡也能包含可執行的 例子乙個叫做aname的...
python模組使用 python 模組發布及使用
將模組 此處名為nester 寫好後,與setup.py放入同乙個資料夾中 from distutils.core importsetup setup name 發布名,一般同模組名 version 版本號 py modules 模組列表 引數,其他引數根據需求新增 構建發布檔案 在資料夾下開啟終端...