python學習筆記day08 檔案功能詳解

2022-02-06 23:43:59 字數 3490 閱讀 4534

file=open("

dang

",mode='

r+',encoding='

utf-8')

print(type(file.read())) #

str物件

read()函式中可以寫引數,指定讀取幾個字元(字元:你能看到的文字最小組成單位)

file=open("

dang

",mode='

r+',encoding='

utf-8')

print(file.read(6)) #

str物件 只讀取前六個字元

file.close()

file=open("

dang

",mode='

r+',encoding='

utf-8')

file.seek(6) #

由於seek是按照位元組讀的,所以讀取中文時seek中的引數必須是3的倍數,由於英文乙個字元用乙個位元組表示,所以seek引數無所謂

print(file.read(5))

file.close()

執行結果:

需要注意:

read()函式以字元讀取的,裡面引數是幾就代表需要讀取幾個位元組;

seek()函式是以位元組讀的,如果檔案中儲存的都是中文,那麼seek引數必須是3的倍數,因為utf-8乙個中文字元用三個位元組表示;如果檔案儲存的都是英文,那麼seek引數無所謂了,因為乙個英文本元只用乙個位元組表示;

file=open("

dang

",mode='

r+',encoding='

utf-8')

file.seek(4) #

因為檔案儲存的英文本元,seek()引數可以不是3倍數,乙個英文本元用乙個位元組表示

print(file.tell()) #

返回游標的位置 此時應該是4 因為上面游標移動到4了

#print(file.read(5))

file.close()

比如讀取倒數第幾個字元:

file=open("

dang

",mode='

r+',encoding='

utf-8')

print(file.read()) #

讀完之後,游標定位在最後乙個位置

index=file.tell()

file.seek(index-6) #

由於是英文本元,所以seek(index-6) 就是從倒數第六個字元開始讀;如果是中文字元的話就是從倒數第二個字元開始讀

print(file.read()) #

從倒數第六個字元開始讀,因為游標定位在倒數第六個字元;

我們也可以使用readline()函式一行一行讀檔案,迭代讀取多行:

file=open("

dang

",mode='

r',encoding='

utf-8')

for i in range(3):

line=file.readline().split() #

d讀取每一行,然後split函式把尾部的換行符等去掉,把readline得到的str-->list

讀取全部內容,每一行作為list的乙個元素儲存

之前open()開啟檔案,最後都得file.close() 很麻煩,現在可以這樣:

with open('

dang

',mode='

r+',encoding='

utf-8

') as file:

print(file.read()) #可以對檔案file控制代碼進行其他操作

並且使用with open as 可以同時開啟多個檔案:

with open("

dang

",mode='

r',encoding='

utf-8

') as file1,open('

xixi.txt

',mode='

r+',encoding='

utf-8

') as file2:

print(file1.read()) #

讀取檔案dang 相對路徑

for line in file2: #

讀取檔案xixi.txt

學習筆記day08

單例設計模式 上圖中,想要實現a,b的配置資訊共享,因為a,b是兩個new,所以必然是不同的物件,一種方法就是將其配置資訊全部設成靜態,但資訊很多時會導致儲存資訊過多。單例設計模式流程 1,主函式main進棧,定義s1 2,等號右邊,single載入進入方法區,接著是single的建構函式。s和ge...

C 學習筆記day08

1 排序函式 void order int p1,int p2 sort ia 9,sizeof int orderint for int i 0 i 9 i coutpers 0 id 1 pers 0 age 29 strcpy pers 0 name liucy pers 1 id 2 per...

Python 學習day08周總結

目錄計算機組成 儲存器輸入裝置 輸出裝置 應用程式的啟動 32位和64位 多核cpu 機械硬碟工作原理 計算機作業系統 程式語言的分類 網路的瓶頸效應 變數資料型別 字串列表 字典流程控制 檔案處理 異常處理 程式語言是人與計算機交流的介質 通過程式語言寫一堆檔案 取代勞動力,幫人類幹活 控制硬體 ...