国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第七章 文件和數(shù)據(jù)格式化

這篇具有很好參考價值的文章主要介紹了第七章 文件和數(shù)據(jù)格式化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第七章 文件和數(shù)據(jù)格式化

7.1 文件的使用

文件時存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。概念上,文件是數(shù)據(jù)的集合和抽象。文件包括文本文件和二進制文件兩種類型。

7.1.1 文件的類型

文本文件一般由單一特定編碼的字符組成,如UTF-8編碼,內(nèi)容容易統(tǒng)一展示和閱讀。

二進制文件直接由比特0和比特1組成,沒有統(tǒng)一的字符編碼,文本內(nèi)部數(shù)據(jù)的組織格式與文件用途有關(guān)。二進制是信息按照非字符但有特定格式形成的文件,例如png格式的圖片文件、avi格式的視頻文件。

二進制文件和文本文件最主要的區(qū)別在于是否有統(tǒng)一的字符編碼。

無論文件創(chuàng)建為文本文件或者二進制文件,都可以用“文本文件方式”和“二進制文件方式”打開,但打開后的操作不同。

# 一個文本文件,其內(nèi)容為“計算機等級考試”,采用文本方式打開
# 注意:文本文件與Python程序文件放在同一個目錄下
file = open("1.txt", mode="rt", encoding="UTF-8")
read_content = file.readline()
print(read_content)
file.close()

# 運行結(jié)果
計算機等級考試

# 一個文本文件,其內(nèi)容為“計算機等級考試”,采用二進制方式打開
file = open("1.txt", mode="rb")
read_content = file.readline()
print(read_content)
file.close()

# 運行結(jié)果
b'\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7\xad\x89\xe7\xba\xa7\xe8\x80\x83\xe8\xaf\x95'

采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進制方式打開文件,文件被解析為字節(jié)流。由于存在編碼,字符串中的一個字符由多個字節(jié)表示。

7.1.2 文件的打開和關(guān)閉

Python對文本文件和二進制文件采用統(tǒng)一的操作步驟,即”打開—操作—關(guān)閉“,如下圖所示。操作系統(tǒng)中的文件默認(rèn)處于存儲狀態(tài),首先需要將其打開,使得當(dāng)前程序有權(quán)操作這個文件,打開不存在的文件系統(tǒng)可以創(chuàng)建這個文件。打開后的文件處于占用狀態(tài),此時,另一個進程不能操作這個文件??梢酝鲆唤M方式讀取文件的內(nèi)容或向文件寫入內(nèi)容,操作之后需要將文件關(guān)閉,關(guān)閉將釋放對文件的控制是文件恢復(fù)或存儲狀態(tài),此時,另一個進程能夠操作文件。

第七章 文件和數(shù)據(jù)格式化

Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式如下:

<變量名> = open(<文件路徑及文件名>,<打開模式>)

open()函數(shù)提供7種基本的打開模式:

打開模式 含義
r 只讀模式,如果文件不存在,返回異常FileNotFoundError,默認(rèn)值
w 覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件
x 創(chuàng)建寫模式,文件不存在則創(chuàng)建,存在則返回異常FileExistsError
a 追加寫模式,文件不存在則創(chuàng)建,存在則在原文件最后追加內(nèi)容
b 二進制文件模式
t 文本文件模式,默認(rèn)值
+ 與/r/w/x/a一同使用,在原功能基礎(chǔ)上增加同時讀寫功能

打開模式使用字符串方式表示,根據(jù)字符串定義,單引號或者雙引號均可。上述打開模式中,‘x’、‘w’、‘x’、‘a(chǎn)’可以和‘b’、‘t’、‘+’組合使用,形成既表達讀寫又表達文件模式的方式。

打開文件有一些常用組合,使用方式如下:

# 以文本方式只讀打開一個文件,讀入后不能對文件進行修改
<變量名> = open(<文件名>, 'r')<變量名> = open(<文件名>)

# 以文本方式可讀寫的打開一個文件,可以讀入并修改文件
<變量名> = open(<文件名>, 'r+')

# 以文本方式打開一個空文件,準(zhǔn)備寫入一批內(nèi)容,并保存為新文件
<變量名> = open(<文件名>, 'w')

# 以文本方式打開一個空文件或已有的文件,追加形式寫入一批內(nèi)容,更新原文件
<變量名> = open(<文件名>, 'a+')

# 以二進制方式只讀打開一個文件,讀入后不能對文件進行修改
<變量名> = open(<文件名>, 'rb')

文件試用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法格式如下:

<變量名>.close()
7.1.3 文件的讀寫

根據(jù)打開方式不同,文件讀寫也會根據(jù)文本文件或二進制打開方式有所不同。

常用的文件讀取方法如下:

方法 含義
f.read(size=-1) 從文件中讀入整個文件內(nèi)容,參數(shù)可選。如果給出,讀入前size長度的字符串或字節(jié)流
f.readline(size=-1) 從文件中讀入一行內(nèi)容,參數(shù)可選。如果給出,讀入該行size長度的字符串或字節(jié)流
f.readlines(hint=-1) 從文件中讀入所有行,以每行為元素形成一個列表。參數(shù)可選,如果給出,讀入hint行
f.seek(offset) 改變當(dāng)前文件操作指針的為啥,offset的值:0為文件開頭,2為文件結(jié)尾

從文本文件逐行讀入內(nèi)容并進行處理是一個基本的文件操作需求。文本文件可以看成是由行組成的組合類型,因此,可以使用遍歷循環(huán)逐行遍歷文件,語法格式如下:

file = open(<文件路徑及名稱>, "r")
for line in file:
	print(line)	# 處理一行數(shù)據(jù) 
f.close

常用的文件寫入方法如下:

方法 含義
f.write(s) 向文件寫入一個字符串或字節(jié)流
f.writelines(lines) 將一個元素為字符串的列表整體寫入文件

f.write(s)向文件寫入字符串s,每次寫入后,將會記錄一個寫入指針。放方法可以反復(fù)調(diào)用,再寫入指針后分批寫入內(nèi)容,直至文件被關(guān)閉。

使用f.write(s)時,要顯示的使用’\n’對寫入文本進行分行,如果不進行分行,每次寫入的字符串會被連接起來。

f = open("c.txt", "w")
f.write('新年都未有芳華\n')
f.write('二月初驚見草芽\n')
f.write('白雪卻嫌春色晚\n')
f.write('故穿庭樹作飛花\n')
f.close()

f.writelines(lines)直接將列表類型的個元素連接起來寫入文件f

ls = ['新年都未有芳華\n','二月初驚見草芽\n','白雪卻嫌春色晚\n','故穿庭樹作飛花\n']
f = open("c.txt", "w")
f.writelines(ls)
f.close()

上述代碼運行結(jié)果皆為:

新年都未有芳華
二月初驚見草芽
白雪卻嫌春色晚
故穿庭樹作飛花
7.2 數(shù)據(jù)組織的維度

一組數(shù)據(jù)在被計算機處理前需要進行一定的組織,表面數(shù)據(jù)之間的基本關(guān)系,進而形成”數(shù)據(jù)的維度“。根據(jù)數(shù)據(jù)的關(guān)系不同,數(shù)據(jù)組織可以分為:一維數(shù)據(jù)、二維數(shù)據(jù)和高維數(shù)據(jù)。

7.2.1 一維數(shù)據(jù)

一維數(shù)據(jù)由對等關(guān)系的有序或無需數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中數(shù)組的概念。例如:中國的直轄市列表即可表示為一維數(shù)據(jù),一維數(shù)據(jù)具有線性特點。

7.2.2 二維數(shù)據(jù)

二維數(shù)據(jù),也稱表格數(shù)據(jù),有關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣,常見的表格都屬于二維數(shù)據(jù)。例如:國家統(tǒng)計局發(fā)布的居民消費價格指數(shù)是二維數(shù)據(jù)。

7.2.3 高維數(shù)據(jù)

高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織,可以多層嵌套。

高維數(shù)據(jù)在Web系統(tǒng)中十分常用,作為當(dāng)今Internet組織內(nèi)容的主要方式,高維數(shù)據(jù)衍生出HTML、XML、JSON等具體數(shù)據(jù)組織的語法結(jié)構(gòu)。

7.3 一維數(shù)據(jù)的處理
7.3.1 一維數(shù)據(jù)的表示

一維數(shù)據(jù)是最簡單的數(shù)據(jù)組織類型,由于是線性結(jié)構(gòu),在Python語言中主要采用列表形式表示。

一維數(shù)據(jù)的文件存儲有多種方式,總體思路是采用特殊字符分隔各數(shù)據(jù)。采用存儲方法包括4種:

(1)采用空格分隔元素,例如:

北京	上海	天津	重慶

(2)采用逗號分隔元素,例如:

北京,上海,天津,重慶

(3)采用換行分隔元素,例如:

北京
上海
天津
重慶

(4)其他特殊符號分隔,以分號分隔為例,例如:文章來源地址http://www.zghlxwxcb.cn/news/detail-468063.html

到了這里,關(guān)于第七章 文件和數(shù)據(jù)格式化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【數(shù)據(jù)結(jié)構(gòu)與算法】第七章-圖【期末復(fù)習(xí)】

    【數(shù)據(jù)結(jié)構(gòu)與算法】第七章-圖【期末復(fù)習(xí)】

    圖:有向圖、網(wǎng),無向圖、網(wǎng)。 頂點 邊:有向圖圖稱作弧,分弧頭弧尾。 依附:邊依附點,邊和點關(guān)聯(lián) 鄰接:點鄰接點 度:點關(guān)聯(lián)的邊的數(shù)目 完全圖: 無向: C n 2 C_n^2 C n 2 ? 條邊; 有向: 2 C n 2 2C_n^2 2 C n 2 ? 條邊 連通:若干結(jié)點互相可以通信,用手提起一個結(jié)點可以順

    2024年02月01日
    瀏覽(20)
  • 計算機操作系統(tǒng)第四版第七章文件管理—課后習(xí)題答案

    計算機操作系統(tǒng)第四版第七章文件管理—課后習(xí)題答案

    ? ? 數(shù)據(jù)項:是最低級的數(shù)據(jù)組織形式,可以分為兩種類型:基本數(shù)據(jù)項和組合數(shù)據(jù)項?;緮?shù)據(jù)項是用于描述一個對象的某種屬性的字符集,是數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,又稱為字段。組合數(shù)據(jù)項是由若干個基本數(shù)據(jù)項組成的,簡稱組項。 記錄:記錄是一組

    2024年02月03日
    瀏覽(23)
  • 大數(shù)據(jù)技術(shù)原理與應(yīng)用(第七章Zookeeper測試)

    一、選擇題 1.Zookeeper服務(wù)端默認(rèn)的對外服務(wù)端口是? A.8088 B.3888 C.2181 D.2888 2.Zookeeper生產(chǎn)環(huán)境一般采用多少臺機器組成集群? A.1 B.3 C.5 D.奇數(shù)臺(且大于1) 3.下面就Zookeeper的配置文件zoo.cfg的一部分,請問initLimit表示的含義是? A.Leader-Follower初始通信時限 B.Leader-Follower同步通信時

    2024年02月12日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu)與算法分析 第七章 串、數(shù)組和廣義表 作業(yè)講解

    數(shù)據(jù)結(jié)構(gòu)與算法分析 第七章 串、數(shù)組和廣義表 作業(yè)講解

    ?參考教材: 《數(shù)據(jù)結(jié)構(gòu)(C語言版 第2版)》 嚴(yán)蔚敏,李冬梅,吳偉民編著,人民郵電出版社,2022年版。 截圖未標(biāo)明出處均為原創(chuàng)或取自《數(shù)據(jù)結(jié)構(gòu)(C語言版 第2版)》~ ? 本文對應(yīng)的作業(yè)題講解視頻: ? 數(shù)據(jù)結(jié)構(gòu)與算法分析作業(yè)講解視頻合集 https://www.bilibili.com/video/BV1N

    2024年02月04日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu) | 第七章:數(shù)組和矩陣 | 行主映射和列主映射 | 稀疏矩陣

    數(shù)據(jù)結(jié)構(gòu) | 第七章:數(shù)組和矩陣 | 行主映射和列主映射 | 稀疏矩陣

    7.1.1 抽象數(shù)據(jù)類型 7.1.2 C++數(shù)組的索引 K維數(shù)組的索引(或下標(biāo)) [ i 1 ] [ i 2 ] [ i 3 ] . . . [ i k ] [i_1][i_2][i_3]...[i_k] [ i 1 ? ] [ i 2 ? ] [ i 3 ? ] ... [ i k ? ] k維數(shù)組創(chuàng)建: int score [ u 1 ] [ u 2 ] [ u 3 ] . . . [ u k ] [u_1][u_2][u_3]...[u_k] [ u 1 ? ] [ u 2 ? ] [ u 3 ? ] ... [ u k ? ] ( u i u_i u i ?

    2024年01月16日
    瀏覽(65)
  • 《移動互聯(lián)網(wǎng)技術(shù)》 第七章 數(shù)據(jù)存取: 掌握File、SharePreferences、SQLite和ContentProvider四種數(shù)據(jù)存取方式

    《移動互聯(lián)網(wǎng)技術(shù)》 第七章 數(shù)據(jù)存取: 掌握File、SharePreferences、SQLite和ContentProvider四種數(shù)據(jù)存取方式

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學(xué)會IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬

    2024年02月12日
    瀏覽(27)
  • 三星U盤格式化后數(shù)據(jù)不見了?3個方法幫您找回珍貴文件

    三星u盤格式化后如何恢復(fù)數(shù)據(jù)?如果您誤對三星U盤進行了格式化操作,并且重要的數(shù)據(jù)被刪除了,您可能會覺得手足無措。但是不要擔(dān)心,您仍然有很大的機會將數(shù)據(jù)恢復(fù)回來。而在找回數(shù)據(jù)之前您需要做的一件事就是確保不寫入數(shù)據(jù)到U盤中,因為寫入操作有可能會覆蓋已

    2024年02月06日
    瀏覽(35)
  • 電腦硬盤文件數(shù)據(jù)誤刪除/格式化為什么可以恢復(fù)? 怎么恢復(fù)?談?wù)勎募h除與恢復(fù)背后的原理

    主頁 :?元存儲的博客_CSDN博客 依公開知識及經(jīng)驗整理,如有誤請留言。 個人辛苦整理,付費內(nèi)容,禁止私自轉(zhuǎn)載。 內(nèi)容摘要 1. 硬盤數(shù)據(jù)丟失場景 2. 硬盤數(shù)據(jù)丟失可以恢復(fù)嗎? 3. 數(shù)據(jù)丟失怎么恢復(fù)? 3.1 第一款、嗨格式數(shù)據(jù)恢復(fù)大師 ?3.2?第二款、360安全衛(wèi)士 3.3 第三款、

    2024年02月09日
    瀏覽(32)
  • 第七章 圖論

    第七章 圖論

    第七章 圖論 一、數(shù)據(jù)結(jié)構(gòu)定義 圖的鄰接矩陣存儲法 圖的鄰接表存儲法 把所有節(jié)點存儲為節(jié)點數(shù)組,每個節(jié)點里有自己的數(shù)據(jù)和一個邊指針,這個邊指針相當(dāng)于一個鏈表的頭指針,這個鏈表里存放所有與這個節(jié)點相連的邊,邊里存放該邊指向的節(jié)點編號和下一條邊指針 圖的

    2024年02月14日
    瀏覽(79)
  • 第七章 函數(shù)矩陣

    第七章 函數(shù)矩陣

    和矩陣函數(shù)不同的是,函數(shù)矩陣本質(zhì)上是一個矩陣,是以函數(shù)作為元素的矩陣。 矩陣函數(shù)本質(zhì)上是一個矩陣,是以矩陣作為自變量的函數(shù)。 函數(shù)矩陣和數(shù)字矩陣的運算法則完全相同。 不過矩陣的元素 a i j ( x ) a_{ij}(x) a ij ? ( x ) 需要是閉區(qū)間 [ a , b ] [a,b] [ a , b ] 上的實函數(shù)

    2024年02月04日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包