Python文件和數(shù)據(jù)格式化的代碼示例解讀_第1頁(yè)
Python文件和數(shù)據(jù)格式化的代碼示例解讀_第2頁(yè)
Python文件和數(shù)據(jù)格式化的代碼示例解讀_第3頁(yè)
Python文件和數(shù)據(jù)格式化的代碼示例解讀_第4頁(yè)
Python文件和數(shù)據(jù)格式化的代碼示例解讀_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

匯報(bào)人:XX2024-01-09Python文件和數(shù)據(jù)格式化的代碼示例解讀目錄文件基本操作與讀寫字符串格式化方法數(shù)據(jù)類型轉(zhuǎn)換與格式化輸出JSON數(shù)據(jù)處理與格式化輸出目錄XML數(shù)據(jù)處理與格式化輸出異常處理與錯(cuò)誤提示信息格式化01文件基本操作與讀寫使用`open()`函數(shù)打開文件file=open('filename.txt','mode'),其中'filename.txt'是文件名,'mode'是打開模式,如讀取模式'r'、寫入模式'w'、追加模式'a'等。使用`close()`方法關(guān)閉文件file.close(),關(guān)閉文件以釋放資源。使用`with`語(yǔ)句自動(dòng)關(guān)閉文件withopen('filename.txt','mode')asfile:,這種方式可以確保文件在使用完畢后自動(dòng)關(guān)閉,無需手動(dòng)調(diào)用close()方法。打開與關(guān)閉文件01content=file.read(),將文件內(nèi)容全部讀取到內(nèi)存中。讀取整個(gè)文件內(nèi)容02forlineinfile:或lines=file.readlines(),按行讀取文件內(nèi)容,適用于大文件處理。逐行讀取文件內(nèi)容03content=file.read(num_chars),從文件中讀取指定數(shù)量的字符。讀取指定字符數(shù)的內(nèi)容讀取文件內(nèi)容03追加內(nèi)容到文件末尾以追加模式打開文件(`'a'`),然后使用`write()`方法寫入內(nèi)容,新內(nèi)容將被追加到文件末尾。01寫入字符串內(nèi)容file.write('somecontent'),將字符串內(nèi)容寫入到文件中。02寫入多行內(nèi)容使用多次`write()`方法或使用`writelines()`方法一次性寫入多行內(nèi)容。寫入文件內(nèi)容importos;cwd=os.getcwd(),獲取當(dāng)前Python腳本所在的工作目錄。獲取當(dāng)前工作目錄importos;filepath=os.path.join(dir_path,filename),將目錄路徑和文件名拼接成完整的文件路徑。拼接文件路徑importos;dir_path,filename=os.path.split(filepath),將完整的文件路徑分割成目錄路徑和文件名兩部分。分割文件路徑importos;exists=os.path.exists(filepath),判斷指定路徑的文件或目錄是否存在。判斷文件或目錄是否存在文件路徑處理02字符串格式化方法格式化字符串,可以接受任何類型的值,并將其轉(zhuǎn)換為字符串。%s格式化整數(shù)。%d格式化浮點(diǎn)數(shù),可以指定小數(shù)點(diǎn)后的精度。%f使用%操作符進(jìn)行格式化03name="Alice"01示例代碼02```python使用%操作符進(jìn)行格式化age=25print("Mynameis%sandI'm%dyearsold."%(name,age))```使用%操作符進(jìn)行格式化{}占位符,用于表示需要格式化的位置。format()將指定值填充到占位符中。使用str.format()方法進(jìn)行格式化示例代碼```pythonname="Bob"使用str.format()方法進(jìn)行格式化使用str.format()方法進(jìn)行格式化01age=3002print("Mynameis{}andI'm{}yearsold.".format(name,age))```03f-string:在字符串前加上字母f或者F,然后在字符串中使用花括號(hào){}包裹變量。使用f-string進(jìn)行格式化示例代碼name="Charlie"```python使用f-string進(jìn)行格式化123age=35print(f"Mynameis{name}andI'm{age}yearsold.")```使用f-string進(jìn)行格式化不同方法之間的比較與選擇%操作符較為古老,不推薦在新的代碼中使用。str.format()方法功能強(qiáng)大,靈活度高,但在某些情況下語(yǔ)法稍顯繁瑣。f-string簡(jiǎn)潔明了,易于閱讀和理解,是Python3.6及以上版本中推薦使用的字符串格式化方法。03數(shù)據(jù)類型轉(zhuǎn)換與格式化輸出整數(shù)、浮點(diǎn)數(shù)和布爾值轉(zhuǎn)換為字符串使用`str()`函數(shù)可以將整數(shù)轉(zhuǎn)換為字符串。例如,`str(123)`將返回字符串`'123'`。浮點(diǎn)數(shù)轉(zhuǎn)換為字符串同樣使用`str()`函數(shù),可以將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串。例如,`str(3.14)`將返回字符串`'3.14'`。布爾值轉(zhuǎn)換為字符串布爾值`True`和`False`可以使用`str()`函數(shù)轉(zhuǎn)換為字符串。例如,`str(True)`將返回字符串`'True'`,而`str(False)`將返回字符串`'False'`。整數(shù)轉(zhuǎn)換為字符串元組轉(zhuǎn)換為字符串同樣使用`str()`函數(shù),可以將元組轉(zhuǎn)換為字符串。例如,`str((1,2,3))`將返回字符串`'(1,2,3)'`。字典轉(zhuǎn)換為字符串使用`str()`函數(shù)可以將字典轉(zhuǎn)換為字符串。例如,`str({'a':1,'b':2})`將返回字符串`"{'a':1,'b':2}"`。列表轉(zhuǎn)換為字符串使用`str()`函數(shù)可以將列表轉(zhuǎn)換為字符串。例如,`str([1,2,3])`將返回字符串`'[1,2,3]'`。列表、元組和字典轉(zhuǎn)換為字符串自定義數(shù)據(jù)類型轉(zhuǎn)換為字符串對(duì)于自定義的數(shù)據(jù)類型,可以通過實(shí)現(xiàn)類的__str__()方法來定義其轉(zhuǎn)換為字符串的行為。例如,可以定義一個(gè)類并在其中實(shí)現(xiàn)__str__()方法,以返回類的實(shí)例的字符串表示形式。使用`print()`函數(shù)可以將格式化的數(shù)據(jù)輸出到控制臺(tái)。例如,`print('Hello,{}!'.format('world'))`將輸出字符串`'Hello,world!'`。要將格式化的數(shù)據(jù)輸出到文件,可以使用文件對(duì)象的`write()`方法。首先,需要使用`open()`函數(shù)以寫入模式打開文件,然后使用`write()`方法將格式化的數(shù)據(jù)寫入文件。例如格式化輸出到控制臺(tái)或文件010203```pythonwithopen('output.txt','w')asff.write('Hello,{}!'.format('world'))格式化輸出到控制臺(tái)或文件```這將把字符串`'Hello,world!'`寫入名為`'output.txt'`的文件中。格式化輸出到控制臺(tái)或文件04JSON數(shù)據(jù)處理與格式化輸出該方法可以將Python對(duì)象轉(zhuǎn)換為JSON格式的字符串。例如,`json.dumps({'name':'John','age':30})`將返回一個(gè)表示JSON對(duì)象的字符串。使用`json.dumps()`方法通過設(shè)置`indent`參數(shù),可以控制輸出的JSON字符串的縮進(jìn)量,使其更易于閱讀。例如,`json.dumps({'name':'John','age':30},indent=4)`將返回一個(gè)帶有適當(dāng)縮進(jìn)的字符串。設(shè)置`indent`參數(shù)將Python對(duì)象轉(zhuǎn)換為JSON字符串將JSON字符串轉(zhuǎn)換為Python對(duì)象該方法可以將JSON格式的字符串轉(zhuǎn)換為Python對(duì)象。例如,`data=json.loads('{"name":"John","age":30}')`將返回一個(gè)Python字典,其中包含解析后的JSON數(shù)據(jù)。使用`json.loads()`方法在解析JSON字符串時(shí),可能會(huì)遇到格式錯(cuò)誤或無效數(shù)據(jù)??梢允褂胉try-except`語(yǔ)句來捕獲`json.JSONDecodeError`異常,并進(jìn)行適當(dāng)?shù)腻e(cuò)誤處理。處理異常將JSON數(shù)據(jù)寫入文件使用`json.dump()`方法可以將Python對(duì)象轉(zhuǎn)換為JSON格式,并將其寫入文件。例如,`withopen('data.json','w')asf:json.dump(data,f)`將把Python對(duì)象`data`轉(zhuǎn)換為JSON格式并寫入名為"data.json"的文件中。在控制臺(tái)打印格式化的JSON數(shù)據(jù)使用`json.dumps()`方法將Python對(duì)象轉(zhuǎn)換為格式化的JSON字符串,并使用`print()`函數(shù)將其打印到控制臺(tái)。例如,`print(json.dumps(data,indent=4))`將以易于閱讀的格式打印出JSON數(shù)據(jù)。格式化輸出JSON數(shù)據(jù)到文件或控制臺(tái)處理嵌套字典和列表JSON數(shù)據(jù)可以包含嵌套的字典和列表。在Python中,可以使用字典和列表來表示這些嵌套結(jié)構(gòu),并使用`json.dumps()`和`json.loads()`方法進(jìn)行轉(zhuǎn)換。處理自定義數(shù)據(jù)類型對(duì)于自定義的數(shù)據(jù)類型,可以通過實(shí)現(xiàn)特定的序列化和反序列化方法來處理。例如,可以定義一個(gè)類并實(shí)現(xiàn)`__repr__()`方法來指定該類的實(shí)例在轉(zhuǎn)換為JSON時(shí)應(yīng)如何表示。然后,可以使用`json.dumps()`方法將該類的實(shí)例轉(zhuǎn)換為JSON字符串。處理嵌套結(jié)構(gòu)和復(fù)雜數(shù)據(jù)類型05XML數(shù)據(jù)處理與格式化輸出讀取元素屬性和文本內(nèi)容:使用`Element.attrib`屬性可以獲取元素的屬性字典,使用`Element.text`屬性可以獲取元素的文本內(nèi)容。使用`xml.etree.ElementTree`模塊解析XML文件:該模塊是Python標(biāo)準(zhǔn)庫(kù)中的一部分,可用于解析XML文件。通過調(diào)用`ElementTree.parse()`方法,可以將XML文件加載到內(nèi)存中,并返回一個(gè)ElementTree對(duì)象。遍歷XML文檔:使用`ElementTree.iter()`或`Element.iter()`方法可以遍歷XML文檔中的所有元素。通過指定標(biāo)簽名稱,可以選擇性地遍歷特定元素。解析XML文件并讀取內(nèi)容通過直接修改元素的`attrib`屬性字典,可以添加、修改或刪除元素的屬性。通過直接賦值給元素的`text`屬性,可以修改元素的文本內(nèi)容。修改XML元素屬性和文本內(nèi)容修改元素文本內(nèi)容修改元素屬性生成新的XML文件并保存結(jié)果使用`ElementTree.write()`方法可以將ElementTree對(duì)象保存到文件中??梢灾付ㄎ募途幋a方式等參數(shù)。保存ElementTree對(duì)象到文件使用`xml.etree.ElementTree.ElementTree()`方法可以創(chuàng)建一個(gè)新的ElementTree對(duì)象。創(chuàng)建ElementTree對(duì)象使用`ElementTree.append()`方法可以將修改后的元素添加到ElementTree對(duì)象中。將修改后的元素添加到ElementTree對(duì)象格式化輸出XML數(shù)據(jù)到文件或控制臺(tái)格式化輸出XML數(shù)據(jù)使用`xm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論