版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第11章-文件及IO操作馬馳率風(fēng),羊致清和本章目標(biāo)掌握文件讀寫的基本操作掌握with語句的使用熟悉數(shù)據(jù)的組織維度掌握不同維度數(shù)據(jù)的存儲掌握目錄與文件的相關(guān)操作馬馳率風(fēng),羊致清和文件的概述文件存儲在計(jì)算機(jī)的存儲設(shè)備中的一組數(shù)據(jù)序列就是文件不同類型的文件通過后綴名進(jìn)行區(qū)分文本文件由于編碼格式的不同,所占磁盤空間的字節(jié)數(shù)不同二進(jìn)制文件沒有統(tǒng)一的編碼,文件直接由0或1組成,需要使用指定的軟件才能打開馬馳率風(fēng),羊致清和文件的基本操作Python操作文件的步驟1打開文件2操作文件3關(guān)閉文件變量名=open(filename,mode,encoding)變量名.read()變量名.write(s)變量名.close()馬馳率風(fēng),羊致清和文件的基本操作文件的狀態(tài)和操作過程馬馳率風(fēng),羊致清和文件的基本操作文件的打開模式模式說明r以只讀模式打開,文件指針在文件的開頭,如果文件不存在,程序拋異常rb以只讀模式打開二進(jìn)制文件,如圖片文件w覆蓋寫模式,文件不存在創(chuàng)建,文件存在則內(nèi)容覆蓋wb覆蓋寫模式寫入二進(jìn)制數(shù)據(jù),文件不存在則創(chuàng)建,文件存在則覆蓋a追加寫模式,文件不存在創(chuàng)建,文件存在,則在文件最后追加內(nèi)容+與w/r/a等一同使用,在原功能的基礎(chǔ)上增加同時(shí)讀寫功能馬馳率風(fēng),羊致清和文件的基本操作讀寫方法描述說明file.read(size)從文件中讀取size個(gè)字符或字節(jié),如果沒有給定參數(shù),則讀取文件中的全部內(nèi)容file.readline(size)讀取文件中的一行數(shù)據(jù),如果給定參數(shù),則為讀取這一行中的size個(gè)字符或字節(jié)file.readlines()從文件中讀取所有內(nèi)容,結(jié)果為列表類型file.write(s)將字符串s寫入文件file.writelines(lst)將內(nèi)容全部為字符串的列表lst寫入文件file.seek(offset)改變當(dāng)前文件操作指針的位置,英文占一個(gè)字節(jié),中文gbk編碼占兩個(gè)字節(jié),utf-8編碼占三個(gè)字節(jié)馬馳率風(fēng),羊致清和文件的基本操作with語句:又稱上下文管理器,在處理文件時(shí),無論是否產(chǎn)生異常,都能保證with語句執(zhí)行完畢后關(guān)閉已經(jīng)打開的文件,這個(gè)過程是自動(dòng)的,無需手動(dòng)操作。語法結(jié)構(gòu):
withopen(....)asfile:pass馬馳率風(fēng),羊致清和數(shù)據(jù)的組織維度及存儲數(shù)據(jù)的組織維度:也稱為數(shù)據(jù)的組織方式或存儲方式,在Python中常用的數(shù)據(jù)組織方式可分為一維數(shù)據(jù)、二維數(shù)據(jù)和高維數(shù)據(jù)。一維數(shù)據(jù)通常采用線性方式組織數(shù)據(jù),一般使用Python中的列表、元組或者集合進(jìn)行存儲數(shù)據(jù)。二維數(shù)據(jù)二維數(shù)據(jù)也稱表格數(shù)據(jù),由行和列組成,類似于Excel表格,在Python中使用二維列表進(jìn)行存儲。高維數(shù)據(jù)高級數(shù)據(jù)則是使用Key-Value方式進(jìn)行組織數(shù)據(jù),在Python中使用字典進(jìn)行存儲數(shù)據(jù)。在Python中內(nèi)置的json模塊專門用于處理JSON(JavaScriptObjectNotation)格式的數(shù)據(jù)。馬馳率風(fēng),羊致清和文件的基本操作函數(shù)名稱描述說明json.dumps(obj)將Python數(shù)據(jù)類型轉(zhuǎn)成JSON格式過程,編碼過程json.loads(s)將JSON格式字符串轉(zhuǎn)成Python數(shù)據(jù)類型,解碼過程json.dump(obj,file)與dumps()功能相同,將轉(zhuǎn)換結(jié)果存儲到文件file中json.load(file)與loads()功能相同,從文件file中讀入數(shù)據(jù)json模塊的常用函數(shù)馬馳率風(fēng),羊致清和目錄與文件的相關(guān)操作osPython內(nèi)置的與操作系統(tǒng)文件相關(guān)的模塊,該模塊中語句的執(zhí)行結(jié)果通常與操作系統(tǒng)有關(guān),即有些函數(shù)的運(yùn)行效果在Windows操作系統(tǒng)和MacOS系統(tǒng)中不一樣。函數(shù)名稱描述說明getcwd()獲取當(dāng)前的工作路徑listdir(path)獲取path路徑下的文件和目錄信息,如果沒有指定path,則獲取當(dāng)前路徑下的文件和目錄信息mkdir(path)在指定路徑下創(chuàng)建目錄(文件夾)makedirs(path)創(chuàng)建多級目錄馬馳率風(fēng),羊致清和目錄與文件的相關(guān)操作函數(shù)名稱描述說明rmdir(path)刪除path下的空目錄removedirs(path)刪除多級目錄chdir(path)把path設(shè)置為當(dāng)前目錄walk(path)遍歷目錄樹,結(jié)果為元組,包含所有路徑名、所有目錄列表和文件列表remove(path)刪除path指定的文件rename(old,new)將old重命名為newstat(path)獲取path指定的文件信息startfile(path)啟動(dòng)path指定的文件馬馳率風(fēng),羊致清和目錄與文件的相關(guān)操作函數(shù)名稱描述說明abspath(path)獲取目錄或文件的絕對路徑exists(path)判斷目錄或文件在磁盤上是否存在,結(jié)果為bool類型,如果目錄或文件在磁盤上存在,結(jié)果為True,否則為Falsejoin(path,name)將目錄與目錄名或文件名進(jìn)行拼接,相當(dāng)于字符串的“+”操作splitext()分別獲取文件名和后綴名os.path模塊:是os模塊的子模塊,也提供了一些目錄或文件的操作函數(shù)。馬馳率風(fēng),羊致清和目錄與文件的相關(guān)操作函數(shù)名稱描述說明basename(path)從path中提取文件名dirname(path)從path中提取路徑(不包含文件名)isdir(path)判斷path是否是有效路徑isfile(path)判斷file是否是有效文件馬馳率風(fēng),羊致清和本章總結(jié)文件是存儲在輔助存儲設(shè)備的一組數(shù)據(jù)序列,不同類型的文件通過后綴名進(jìn)行區(qū)分文件的分類文本文件二進(jìn)制文件文件的操作順序打開文件open(filename,mode,encoding)操作文件文件對象.read()文件對象.readline()文件對象.readlines()文件對象.write()文件對象.writelines()關(guān)閉文件文件對象.close()馬馳率風(fēng),羊致清和本章總結(jié)with語句withopen(filename,mode,encoding)asfile:with語句優(yōu)點(diǎn):處理文件時(shí),無論是否產(chǎn)生異常,都能保證with語句執(zhí)行完畢后關(guān)閉已經(jīng)打開的文件數(shù)據(jù)的組織維度一維數(shù)據(jù):采用線性方式組織數(shù)據(jù),可以使用列表、元組、集合進(jìn)行存儲二維數(shù)據(jù):由行和列組成,在Python中可使用二維列表進(jìn)行存儲高維數(shù)據(jù):使用Key-Value對方式組織數(shù)據(jù),在Python中可使用字典進(jìn)行存儲馬馳率風(fēng),羊致清和本章總結(jié)目錄與文件相關(guān)操作os模塊:Python內(nèi)置的與操作系統(tǒng)和文件系統(tǒng)相關(guān)的模塊,該模塊中語句的執(zhí)行結(jié)果通常與操作系統(tǒng)有關(guān)os.path模塊:os.path是os模塊的子模塊馬馳率風(fēng),羊致清和章節(jié)習(xí)題1)關(guān)于文件,下列說法錯(cuò)誤的是:(
)
A.對已經(jīng)關(guān)閉的文件進(jìn)行讀寫操作會默認(rèn)再次打開文件
B.對文件操作完成后即使不關(guān)閉程序也會不報(bào)錯(cuò)
C.對于非空文件,使用read()讀取全部內(nèi)容返回結(jié)果是字符串
D.file=open(filename,’rb’)表示以只讀二進(jìn)制方式打開文件A馬馳率風(fēng),羊致清和章節(jié)習(xí)題2)閱讀下面代碼,程序的運(yùn)行結(jié)果是
::(
)
A.北京
上海
天津
B.”北京”“上?!薄疤旖颉盋.“北京上海天津”D.北京上海天津D馬馳率風(fēng),羊致清和章節(jié)習(xí)題3)閱讀下面代碼,程序的運(yùn)行結(jié)果是
::(
)
A.逐行輸出文件內(nèi)容
B.逐行輸出文件內(nèi)容,但每行以**開頭C.報(bào)錯(cuò)D.文件被清空,所以沒有輸出C馬馳率風(fēng),羊致清和章節(jié)習(xí)題4)閱讀下面代碼,程序的運(yùn)行結(jié)果是
::(
)a.txt文件中的內(nèi)容為welcometoBeiJing
A.welcometoBeiJing
B.<_io.TextIOWrappername='a.txt'mode='r'encoding='cp936'>C.fileD.a(chǎn).txtB馬馳率風(fēng),羊致清和章節(jié)習(xí)題5)在讀寫文件之前,需要?jiǎng)?chuàng)建文件對象,使用的函數(shù)是:(
)
A.create()
B.open()C.file()D.create_file()B馬馳率風(fēng),羊致清和章節(jié)習(xí)題6)在讀寫文件之前,需要打開文件對象,使用到的函數(shù)是:(
)
A.read()
B.fileopen()C.open()D.cfile()C馬馳率風(fēng),羊致清和章節(jié)習(xí)題7)在Python語言中,讀寫文件操作時(shí)定位到某個(gè)位置所用到的函數(shù)是:(
)
A.write()
B.seek()C.writelines()D.writetext()B馬馳率風(fēng),羊致清和章節(jié)習(xí)題8)以下對Python文件處理的描述中,錯(cuò)誤的是:(
)
A.當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件C.Python通過內(nèi)置的函數(shù)open()打開一個(gè)文件D.Python文件操作完成后可以使用close()方法關(guān)閉,釋放文件的使用權(quán)A馬馳率風(fēng),羊致清和章節(jié)習(xí)題9)閱讀以下代碼,程序運(yùn)行的結(jié)果是:(
)
A.程序報(bào)錯(cuò)
B.“[Python程序設(shè)計(jì)教程,HTML前端技術(shù)之禪]”C.Python程序設(shè)計(jì)教程,HTML前端技術(shù)之禪D.Python程序設(shè)計(jì)教程
HTML前端技術(shù)之禪A馬馳率風(fēng),羊致清和章節(jié)習(xí)題10)以下關(guān)于文件讀寫的描述中,錯(cuò)誤的是:(
)
A.使用with語句可以在文件操作完之后自動(dòng)關(guān)閉文件
B.以覆蓋寫模式打開的文件無法進(jìn)行讀取操作C.文件對象的seek(3)表示移動(dòng)三個(gè)字符串的位置D.文件對象的readline()方法用來讀取一行字符串C馬馳率風(fēng),羊致清和章節(jié)習(xí)題需求:在指定路徑下批量創(chuàng)建3000份文本文件,文件名格式為序號_物資類別_用戶識別碼組成
1)序號從0001到3000
2)物資類別包括:水果、煙酒、糧油、肉蛋、蔬菜
3)用戶識別碼為9位的隨機(jī)十六進(jìn)制數(shù)碼運(yùn)行效果實(shí)戰(zhàn)一:批量創(chuàng)建文件馬馳率風(fēng),羊致清和章節(jié)習(xí)題運(yùn)行效果實(shí)戰(zhàn)一:批量創(chuàng)建文件馬馳率風(fēng),羊致清和章節(jié)習(xí)題需求:在指定路徑newdir下批量創(chuàng)建指定個(gè)數(shù)的目錄(文件夾),如果newdir目錄不存在,則創(chuàng)建運(yùn)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 14《天文學(xué)上的曠世之爭》說課稿 2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊
- 2025年度智能云計(jì)算平臺運(yùn)維服務(wù)合同2篇
- 2025年度新能源出租車司機(jī)勞動(dòng)合同規(guī)范范本2篇
- 福建省南平市太平中學(xué)高一化學(xué)模擬試題含解析
- 福建省南平市松溪縣第二中學(xué)高一地理模擬試題含解析
- 2024年版:廣告發(fā)布合同廣告內(nèi)容審核與責(zé)任分配
- 2024版二手房租賃買賣合同范本
- 農(nóng)場年度榮耀
- 2025版智能家居配套大平方樓房買賣合同3篇
- 大V賬號推廣合同(2篇)
- 部編版語文三年級下冊第二單元整體作業(yè)設(shè)計(jì)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之11:“5領(lǐng)導(dǎo)作用-5.5崗位、職責(zé)和權(quán)限”(雷澤佳編制-2025B0)
- 物聯(lián)網(wǎng)安全風(fēng)險(xiǎn)評估剖析-洞察分析
- 2024年-江西省安全員C證考試題庫
- 物業(yè)保安培訓(xùn)工作計(jì)劃
- 開題報(bào)告課件(最終)
- 治未病科室建設(shè)
- 投標(biāo)部述職報(bào)告
- 2024天津高考英語試題及答案
- 中國高鐵技術(shù)的發(fā)展與展望
- 2014-2024年高考語文真題匯編之詩歌鑒賞含答案解析
評論
0/150
提交評論