日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python学习笔记day08 文件功能详解

發布時間:2025/4/9 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python学习笔记day08 文件功能详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

file.read():讀取文件的全部內容?

file=open("dang",mode='r+',encoding='utf-8') print(type(file.read())) #str對象 file.close()

?

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

file=open("dang",mode='r+',encoding='utf-8') print(file.read(6)) #str對象 只讀取前六個字符 file.close()

?

file.seek():移動光標的位置,讀取的是字節(utf-8 一個英文字符一個字節表示;一個中文字符用三個字節表示)

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.tell()? 告訴文件此時的光標在哪里,斷點續傳中有用;

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():僅僅讀取文件的一行--->str

file=open("dang",mode='r',encoding='utf-8') line=file.readline() print(line) file.close()

?

我們也可以使用readline()函數一行一行讀文件,迭代讀取多行:

file=open("dang",mode='r',encoding='utf-8') for i in range(3):line=file.readline().split() #d讀取每一行,然后split函數把尾部的換行符等去掉,把readline得到的str-->listprint(line) file.close()

?

?realdines():讀取文件全部內容,存成一個list,文件每一行存成list的一個元素;

file=open("dang",mode='r+',encoding='utf-8') contents=file.readlines() #讀取全部內容,每一行作為list的一個元素存儲 print(contents) file.close()

文件操作的另外兩個小知識點:

? ?for line in file: 讀取文件的全部內容一行一行;

file=open('dang',mode='r',encoding='utf-8') for line in file:print(line.split()) file.close()

with open as 方式打開文件,不用對文件close

之前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.txtprint(line.split())

?

轉載于:https://www.cnblogs.com/xuanxuanlove/p/9530203.html

總結

以上是生活随笔為你收集整理的python学习笔记day08 文件功能详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。