引言
眾所周知,python是一種強大的腳本語言,那么,問題來了,為什么不用python來編寫Linux腳本呢?問題的答案就是python有os 模塊??!這個os模塊能夠讓你像在Linux命令行中操作文件一樣,在python中也實現(xiàn)同樣的功能,感覺它就是python天生用來替換BASH的,而且它能夠呈現(xiàn)出一種更簡潔友好的腳本體驗!
第一步;載入os模塊
要想使用os模塊的功能,第一步該怎么做呢?當然是首先載入os模塊了,就像在python中使用其它模塊一樣,你只需輸入以下語句就可完成os模塊的導入。
好了,導入os模塊之后,就可以體驗不一樣的Linux文件操作命令了!接下來,將會介紹一些os模塊下與Linux文件操作命令相對應(yīng)的函數(shù)語句。
getcwd()
這條語句以字符串的形式返回當前的工作目錄,不必向它傳遞任何參數(shù),相當于Linux下的pwd命令。
chdir()
chdir()語句和Linux下的cd命令一樣用來切換工作目錄,調(diào)用這個函數(shù)時,只要將你想改變的文件路徑以字符串的形式作為變量輸入即可。
而且它也像cd命令一樣,支持相對路徑。具體看下面的操作;
Lisdir()相當于運行l(wèi)s命令,然而不一樣的是,lisdir()并不打印出目錄下的內(nèi)容,只是將其作為一個列表返回。當然,你也可以指定特定的目錄,否則的話,它將會列出當前的目錄。
這兩個函數(shù)和Linux下創(chuàng)建目錄的命令一樣,它們接受的第一個參數(shù)都是創(chuàng)建的目錄,當然是以字符串的形式,此外,還可以指定第二個參數(shù)來給創(chuàng)建的目錄賦予給定的權(quán)限。
與mkdir()不一樣的是,makedirs()支持創(chuàng)建多層目錄,相當于運行mkdir()多次
chmod()用來改變目錄的權(quán)限,輸入的第一個參數(shù)是要改變的目錄,第二個是要改變的權(quán)限代號
chown()用來改變文件的所有者,不過它要求用戶和群組的名稱都是有效的,例如
這個命令將'test'目錄的用戶和群組屬性都改為ID號為1000的所有者
remove()用來刪除單個文件,可以為它傳遞一個絕對路徑。
刪除目錄用removedirs(),它可以刪除指定目錄下的所有內(nèi)容。
最后介紹的這個命令功能最強大,同時也是最危險的一個。它可以運行Linux系統(tǒng)下的所有命令,只要將命令當做參數(shù)傳遞給它即可。
不過,這里有幾點需要注意下,第一,使用這個函數(shù)必須在python的終端下,而且,這個函數(shù)會占用較多的系統(tǒng)資源,通常是低效的。最重要的是,這個函數(shù)可以運行任何命令,意味著它也能夠產(chǎn)生任何你想不到的破壞。所以,如果你打算使用這個函數(shù),請謹慎對待并確保它在可控范圍內(nèi)。
現(xiàn)在,使用下面的命令來嘗試下system()吧!
當然,你也可以在其中使用管道符命令嘍
運行上面的命令,將會使火狐瀏覽器運行,命令行上將會打出它的進程信息。
總結(jié)
現(xiàn)在,你已經(jīng)使用python向Linux系統(tǒng)邁出了第一步。此外,python還提供了許多其它方便的工具,而這些東西本來是非常復雜的,由于python使它們變得更加好用。例如,比較流行的自動化工具ANsible和Salt就是用python 做的??偠灾?,沒有什么是python不能做的,所以,趕緊GET起來吧!
最后來點小練習:
用Python打印出你當前的工作目錄
改變并打印出一個工作目錄
創(chuàng)建一個循環(huán),遍歷目錄的內(nèi)容并單獨打印。
只用一個命令創(chuàng)建一個嵌套目錄
改變一個文件夾的權(quán)限,使目錄擁有者能夠讀取,寫入和運行,而其他人只有讀取和運行的權(quán)限
刪除兩個子目錄
使用Python創(chuàng)建一個文本文件,列出用戶當前正在運行的所有進程
英文原文:https://linuxconfig.org/python-os-module
譯者:Mr Chen
聯(lián)系客服