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