99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Python之os模塊
Python之os模塊
2017-05-17
收藏

Python之os模塊

眾所周知,python是一種強(qiáng)大的腳本語言,那么,問題來了,為什么不用python來編寫Linux腳本呢?問題的答案就是python有os模塊?。∵@個os模塊能夠讓你像在Linux命令行中操作文件一樣,在python中也實現(xiàn)同樣的功能,感覺它就是python天生用來替換BASH的,而且它能夠呈現(xiàn)出一種更簡潔友好的腳本體驗!

第一步;載入os模塊

要想使用os模塊的功能,第一步該怎么做呢?當(dāng)然是首先載入os模塊了,就像在python中使用其它模塊一樣,你只需輸入以下語句就可完成os模塊的導(dǎo)入。

好了,導(dǎo)入os模塊之后,就可以體驗不一樣的Linux文件操作命令了!接下來,將會介紹一些os模塊下與Linux文件操作命令相對應(yīng)的函數(shù)語句。

getcwd()

這條語句以字符串的形式返回當(dāng)前的工作目錄,不必向它傳遞任何參數(shù),相當(dāng)于Linux下的pwd命令。

chdir()

chdir()語句和Linux下的cd命令一樣用來切換工作目錄,調(diào)用這個函數(shù)時,只要將你想改變的文件路徑以字符串的形式作為變量輸入即可。

而且它也像cd命令一樣,支持相對路徑。具體看下面的操作;

listdir()

Lisdir()相當(dāng)于運(yùn)行l(wèi)s命令,然而不一樣的是,lisdir()并不打印出目錄下的內(nèi)容,只是將其作為一個列表返回。當(dāng)然,你也可以指定特定的目錄,否則的話,它將會列出當(dāng)前的目錄。

mkdir() and makedirs()

這兩個函數(shù)和Linux下創(chuàng)建目錄的命令一樣,它們接受的第一個參數(shù)都是創(chuàng)建的目錄,當(dāng)然是以字符串的形式,此外,還可以指定第二個參數(shù)來給創(chuàng)建的目錄賦予給定的權(quán)限。

與mkdir()不一樣的是,makedirs()支持創(chuàng)建多層目錄,相當(dāng)于運(yùn)行mkdir()多次

chmod()

chmod()用來改變目錄的權(quán)限,輸入的第一個參數(shù)是要改變的目錄,第二個是要改變的權(quán)限代號

chown()

chown()用來改變文件的所有者,不過它要求用戶和群組的名稱都是有效的,例如

這個命令將"test"目錄的用戶和群組屬性都改為ID號為1000的所有者

remove() and removedirs()

remove()用來刪除單個文件,可以為它傳遞一個絕對路徑。

刪除目錄用removedirs(),它可以刪除指定目錄下的所有內(nèi)容。

system()

最后介紹的這個命令功能最強(qiáng)大,同時也是最危險的一個。它可以運(yùn)行Linux系統(tǒng)下的所有命令,只要將命令當(dāng)做參數(shù)傳遞給它即可。

不過,這里有幾點(diǎn)需要注意下,第一,使用這個函數(shù)必須在python的終端下,而且,這個函數(shù)會占用較多的系統(tǒng)資源,通常是低效的。最重要的是,這個函數(shù)可以運(yùn)行任何命令,意味著它也能夠產(chǎn)生任何你想不到的破壞。所以,如果你打算使用這個函數(shù),請謹(jǐn)慎對待并確保它在可控范圍內(nèi)。

現(xiàn)在,使用下面的命令來嘗試下system()吧!

當(dāng)然,你也可以在其中使用管道符命令嘍

運(yùn)行上面的命令,將會使火狐瀏覽器運(yùn)行,命令行上將會打出它的進(jìn)程信息。

總結(jié)

現(xiàn)在,你已經(jīng)使用pythonLinux系統(tǒng)邁出了第一步。此外,python還提供了許多其它方便的工具,而這些東西本來是非常復(fù)雜的,由于python使它們變得更加好用。例如,比較流行的自動化工具ANsible和Salt就是用python做的??偠灾瑳]有什么是python不能做的,所以,趕緊GET起來吧!

最后來點(diǎn)小練習(xí):

  1. 用Python打印出你當(dāng)前的工作目錄

  2. 改變并打印出一個工作目錄

  3. 創(chuàng)建一個循環(huán),遍歷目錄的內(nèi)容并單獨(dú)打印。

  4. 只用一個命令創(chuàng)建一個嵌套目錄

  5. 改變一個文件夾的權(quán)限,使目錄擁有者能夠讀取,寫入和運(yùn)行,而其他人只有讀取和運(yùn)行的權(quán)限

  6. 刪除兩個子目錄

  7. 使用Python創(chuàng)建一個文本文件,列出用戶當(dāng)前正在運(yùn)行的所有進(jìn)程

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }