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("我們也可以使用readline()函式一行一行讀檔案,迭代讀取多行:dang
",mode='
r+',encoding='
utf-8')
print(file.read()) #
讀完之後,游標定位在最後乙個位置
index=file.tell()
file.seek(index-6) #
由於是英文本元,所以seek(index-6) 就是從倒數第六個字元開始讀;如果是中文字元的話就是從倒數第二個字元開始讀
print(file.read()) #
從倒數第六個字元開始讀,因為游標定位在倒數第六個字元;
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 機械硬碟工作原理 計算機作業系統 程式語言的分類 網路的瓶頸效應 變數資料型別 字串列表 字典流程控制 檔案處理 異常處理 程式語言是人與計算機交流的介質 通過程式語言寫一堆檔案 取代勞動力,幫人類幹活 控制硬體 ...