下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
習題12一、選擇題1.下列關于文件路徑的說法中,正確的是()。A.Windows中的路徑分隔符只能寫成""B.Linux系統不能使用相對路徑C."./data/file.txt"表示當前目錄下的data文件夾中的file.txtD.絕對路徑和相對路徑沒有區別2.關于open()函數,下列說法正確的是()。A.open()打開文件失敗時返回NoneB.open(file,mode='r')表示以二進制寫入模式打開文件C.open()默認編碼是UTF-32D.open(file,'r')表示以文本讀取方式打開文件3.下列哪項不會自動關閉文件?()A.close() B.withopen(...)asfC.程序結束自動回收 D.變量被重新賦值后原文件自動關閉4.關于read()、readline()、readlines()下列說法正確的是()。A.read()一次只讀一行 B.readline()一次讀取全部內容C.readlines()返回一個字符串列表 D.這三個方法功能完全相同5.文件指針位置可以通過下列哪組方法控制?()。A.tell()與seek() B.read()與write() C.open()與close() D.input()與print()6.下列哪項關于JSON數據格式的描述是正確的?()A.JSON僅支持整數類型 B.JSON中對象對應Python中的dictC.JSON不支持嵌套結構 D.JSON文件必須以.js為后綴二、編程題1.讀取文本文件story.txt內容,逐行打印內容,并打印行號。2.統計文本文件字符數、單詞數和行數。提示:用空格分隔單詞。3.讀取文件,統計出現次數最多的單詞,忽略大小寫與標點,如“Hello”與“hello”視為同一個單詞。4.將一個列表寫入文件(每個元素一行):names=["Alice","Bob","Charlie"],寫入names.txt。5.反向讀取文件內容,將文件中的所有行倒序輸出至屏幕。6.使用pathlib模塊找出某個文件夾中所有.txt文件并打印其絕對路徑。7.讀取CSV文件,打印每行的第2列,若某行列數不足2,則跳過。8.將一個Python字典保存為JSON文件。例如:data={"name":"Tom","age":20,"courses":["Math","Python"]}寫入data.json。然后讀取這個JSON文件并使用縮進indent=4打印格式化后的JSON數據。一、選擇題答案+解析答案:C解析:Windows路徑可寫\或/;所有系統都支持相對路徑;絕對、相對路徑概念不同。答案:D解析:r是文本只讀模式;打開失敗會拋異常,默認編碼不是UTF-32,w才是寫入模式。答案:D解析:文件對象重新賦值不會自動關閉文件;close()、with語句、程序結束都會關閉文件。答案:C解析:read()讀取全部內容;readline()讀取一行;readlines()按行讀取,返回字符串列表。答案:A解析:tell()獲取文件指針位置,seek()移動文件指針。答案:B解析:JSON支持多種類型、可嵌套;JSON文件后綴一般為.json,JSON對象對應Python字典。二、編程題(Python代碼)1.讀取文件,逐行打印并輸出行號withopen("story.txt","r",encoding="utf-8")asf:foridx,lineinenumerate(f,start=1):print(f"第{idx}行:{line.strip()}")2.統計文件行數、單詞數、字符數(空格分隔單詞)withopen("story.txt","r",encoding="utf-8")asf:content=f.read()lines=content.splitlines()line_count=len(lines)char_count=len(content)#按空格分割統計單詞word_list=content.split()word_count=len(word_list)print(f"行數:{line_count}")print(f"字符數:{char_count}")print(f"單詞數:{word_count}")3.統計出現次數最多的單詞(忽略大小寫、標點)importstringwithopen("story.txt","r",encoding="utf-8")asf:text=f.read()#去除標點、轉小寫trans=str.maketrans("","",string.punctuation)text=text.translate(trans).lower()words=text.split()word_dict={}forwinwords:word_dict[w]=word_dict.get(w,0)+1#取次數最多的單詞max_word=max(word_dict,key=word_dict.get)max_num=word_dict[max_word]print(f"出現最多的單詞:{max_word},次數:{max_num}")4.列表逐行寫入names.txtnames=["Alice","Bob","Charlie"]withopen("names.txt","w",encoding="utf-8")asf:fornameinnames:f.write(name+"\n")5.文件行內容倒序輸出withopen("names.txt","r",encoding="utf-8")asf:lines=f.readlines()#倒序遍歷forlineinreversed(lines):print(line.strip())6.pathlib查找文件夾下所有.txt文件并輸出絕對路徑frompathlibimportPath#替換為你的目標文件夾路徑folder_path=Path("./")#遍歷所有txt文件txt_files=folder_path.rglob("*.txt")forfileintxt_files:print(file.absolute())7.讀取CSV文件,輸出每行第2列,列數不足則跳過importcsvwithopen("test.csv","r",encoding="utf-8")asf:reader=csv.reader(f)forrowinreader:iflen(row)>=2:print(row[1])8.字典寫入JSON文件+讀取并格式化輸出importjsondata={"name":"Tom","age":20,"courses":["Math","Python"]}#寫入json文件withopen("data.json","w",encoding="utf-8")asf:json.dump(data,f,ensure
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水禽飼養員崗前核心能力考核試卷含答案
- 文化經紀人跨界整合考核試卷含答案
- 瀝青裝置操作工崗位環保責任制強化考核試卷含答案
- 汽車車身涂裝修復工崗位應變水平考核試卷含答案
- 啤酒糖化工激勵強化考核試卷含答案
- 2026年經濟開發區博物館布展方案
- 年度森林防火工作總結
- 麻醉藥品和精神藥品管理條例培訓試卷及答案
- 機場項目曳引式電梯安裝施工方案
- 急救競賽理論試題含答案
- 侵權責任法護理內容
- 可上傳班級管理(一到三章)李學農主編
- 浙江省中小學心理健康教育課程標準
- DL-T5169-2013水工混凝土鋼筋施工規范
- 日立中央空調VAMII設計培訓手冊
- 彩色多普勒超聲診斷儀投標方案(技術標)
- 社區工作考試公共基礎知識試題及答案
- 北京市行政處罰案卷標準和評查評分細則
- Python商務數據分析與實戰PPT完整全套教學課件
- 冠心病健康教育知識講座總結
- 中山大學高等數學期末考試試卷(含答案)
評論
0/150
提交評論