本篇為python視頻教程中有關(guān)于os模塊部分的基礎(chǔ)講解,特意貼心的為大家省去了繁瑣的定義講解,直接用簡單的代碼來表示os模塊,話不多說,直接進(jìn)入正題。
安寧網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
1.os模塊
對于文件和目錄進(jìn)行處理
目錄:就是文件夾
屬性:
os.name:查看當(dāng)前系統(tǒng)的類型;
如果是windows ---> nt
如果是max ---> posix
os.environ:返回當(dāng)前系統(tǒng)的環(huán)境變量(所有)
函數(shù):
os.environ.get():獲取指定的某一個環(huán)境變量
路徑分類:
絕對路徑:帶盤符根目錄的就是絕對路徑
相對路徑:相對于某個文件(參照物)所得到的一個路徑值; 特點(diǎn):書寫的時候不帶盤符的
os.getcwd():返回當(dāng)前正在執(zhí)行的.py文件所對應(yīng)的完整路徑(絕對路徑)
os.listdir(path):將path路徑下的所有文件和目錄顯示
os.mkdir(path):創(chuàng)建單層文件夾,此方法只能創(chuàng)建目錄,如果目錄已經(jīng)存在,創(chuàng)建失敗,報錯
os.makedirs(path):創(chuàng)建多層文件夾(級聯(lián)新建),此方法也只能創(chuàng)建目錄,如果目錄已經(jīng)存在,創(chuàng)建失敗,報錯
os.rmdir(path):刪除單層文件夾,此方法只能刪除目錄,如果目錄不存在,刪除失敗,報錯:FileNotFoundError
os.removedirs(path):刪除多層文件夾(級聯(lián)刪除),此方法也只能刪除目錄,如果目錄不存在,創(chuàng)建失敗,報錯
os.remove(path):刪除文件,如果文件不存在,報錯!【注意】這個方法只能刪除文件不能刪除目錄
os.rename(old, new):可以給文件或者目錄重命名
os.system():執(zhí)行系統(tǒng)指令:cls、ipconfig、dir。。。
os.path.join(path, fileName):將path和fileName中的數(shù)據(jù)拼接稱為一個新的路徑,以字符串的形式返回
os.path.isdir(path):判斷path對應(yīng)的路徑內(nèi)容是否為一個目錄,如果是,返回True;反之,返回False
os.path.isfile(path):判斷path對應(yīng)的路徑內(nèi)容是否為一個文件,如果是,返回True;反之,返回False
os.path.exists(path):判斷path對應(yīng)的路徑內(nèi)容是否存在,如果存在,返回True;反之,返回False
os.path.getsize(path):對path對應(yīng)的路徑內(nèi)容進(jìn)行容量檢測,并且返回字節(jié)量
os.path.basename(path):傳入一個路徑值,將此路徑的最后一個/后面的部分返回
os.path.dirname(path):傳入一個路徑值,將此路徑的最后一個/前面的部分返回
os.path.split(path):傳入一個路徑值,將此路徑的最后一個/的前面部分放入到元祖的第一個元素中,
/后面的部分放入到元祖的第二個元素中
os.path.splitext(path):傳入一個路徑值,將此路徑的最后一個.的前面部分放入到元祖的第一個元素中,
.以及后面的部分放入元祖的第二個元素中?
--------------------------------------------------------------------------
1.字符集(字符編碼):
ascii碼:
美國的標(biāo)準(zhǔn)碼,范圍:自己去找找看
unicode碼:
萬國碼,它可以包含中文,但是很可惜,它不被通用(流行)
utf-8碼:
計算機(jī)中使用最為流行,它包含了之前unicode中的內(nèi)容并且擴(kuò)展了,
它同樣可以保存中文
utf-8碼保存中文字符,一個漢字占用3個字節(jié),
gbk碼:
我們中國的碼表,它同樣繼承了gb2312,主要用于一些中文的系統(tǒng)
gbk保存中文字符,1個漢字占用內(nèi)存2個字節(jié),
2.字節(jié)和字符
記住:計算機(jī)中一切皆字節(jié)(存儲方面)
字符:我們使用文本編輯器打開,能夠看得懂的(不會亂碼),就是字符文件
字節(jié):我們使用文本編輯器打開,不能夠看懂的,就是字節(jié)文件
思考:.doc結(jié)尾的文件是字符文件嗎?
不是;
3.文件讀取
有規(guī)定的步驟:
1).打開文件
2).操作數(shù)據(jù)(讀、寫)
3).關(guān)閉文件??? **
打開文件:
fp= open(path, 打開方式, encoding=,errors='Ignore')
操作數(shù)據(jù):
打開方式:
'r':表示只讀字符(readonly)
#'r+':在只讀的功能下,在追加一個寫的功能
'w':表示只寫字符(readwrite),第一次寫完,如果沒有關(guān)閉文件,繼續(xù)寫,那么會將原本的內(nèi)容覆蓋
#'w+':在只寫的功能下,在追加一個讀的功能
'a':表示追加內(nèi)容
#'a+':在保留追加內(nèi)容的同時,新增了一個讀的功能
'rb':表示只讀字節(jié)(二進(jìn)制數(shù)據(jù))
'wb':表示只寫字節(jié)(二進(jìn)制數(shù)據(jù))
encoding:
編碼集如果不顯示定義,對應(yīng)的就是:gbk
我們也可以根據(jù)自己的需要,定義譬如:utf-8
errors:
如果不寫,默認(rèn)是報錯(編解碼不一致)
我們也可以定義為ignore,這樣就不會報錯了,但是會出現(xiàn)亂碼
編碼&解碼:
編碼:程序 ---> 文件
解碼:文件 ---> 程序
記?。喝绻幋a和解碼不一致,一定會亂碼(中文情況下)
讀取文件中的數(shù)據(jù):
fp= open(path, ‘r’)
content= fp.read()?????????? #讀取全部內(nèi)容
content= fp.read(num)??????????? #讀取num個字節(jié)數(shù)
content= fp.readline()????????????? #讀取一行數(shù)據(jù)
content= fp.readlines()?? #讀取所有行,以一個列表的形式返回
print(content)??????????????????? #打印讀取到的內(nèi)容
【注意】讀文件,如果文件不存在,直接報錯:FileNotFoundError
寫入數(shù)據(jù)到文件中:
fw= open(path, 'w')
fw.write(str1)??????????????????? #將變量str1中的內(nèi)容寫入到path對應(yīng)的文件中(覆蓋)
【注意】寫文件,如果文件不存在,先創(chuàng)建文件,再寫入內(nèi)容;如果存在了,將以前的內(nèi)容覆蓋
fw = open(path, 'a')
fw.write(str1)??????????????????? #將變量str1中的內(nèi)容寫入到path對應(yīng)的文件中(追加)
關(guān)閉文件:
fp.close()?????????????????? #關(guān)閉文件(釋放資源)
以上就是關(guān)于Python視頻教程中的os模塊講解,同學(xué)們在學(xué)習(xí)的時候注意我上面標(biāo)注【注意】的部分和errors的部分,以免出現(xiàn)問題不知道如何解決。