日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

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

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

?

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

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

?

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

file=open("dang",mode='r+',encoding='utf-8') file.seek(6) #由于seek是按照字節(jié)讀的,所以讀取中文時seek中的參數(shù)必須是3的倍數(shù),由于英文一個字符用一個字節(jié)表示,所以seek參數(shù)無所謂 print(file.read(5)) file.close()

運(yùn)行結(jié)果:

需要注意:

read()函數(shù)以字符讀取的,里面參數(shù)是幾就代表需要讀取幾個字節(jié);

seek()函數(shù)是以字節(jié)讀的,如果文件中存儲的都是中文,那么seek參數(shù)必須是3的倍數(shù),因為utf-8一個中文字符用三個字節(jié)表示;如果文件存儲的都是英文,那么seek參數(shù)無所謂了,因為一個英文字符只用一個字節(jié)表示;

?

file.tell()? 告訴文件此時的光標(biāo)在哪里,斷點(diǎn)續(xù)傳中有用;

file=open("dang",mode='r+',encoding='utf-8') file.seek(4) #因為文件存儲的英文字符,seek()參數(shù)可以不是3倍數(shù),一個英文字符用一個字節(jié)表示 print(file.tell()) #返回光標(biāo)的位置 此時應(yīng)該是4 因為上面光標(biāo)移動到4了 # print(file.read(5)) file.close()

比如讀取倒數(shù)第幾個字符:

file=open("dang",mode='r+',encoding='utf-8') print(file.read()) #讀完之后,光標(biāo)定位在最后一個位置 index=file.tell() file.seek(index-6) #由于是英文字符,所以seek(index-6) 就是從倒數(shù)第六個字符開始讀;如果是中文字符的話就是從倒數(shù)第二個字符開始讀 print(file.read()) #從倒數(shù)第六個字符開始讀,因為光標(biāo)定位在倒數(shù)第六個字符;

readline():僅僅讀取文件的一行--->str

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

?

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

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

?

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

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

文件操作的另外兩個小知識點(diǎn):

? ?for line in file: 讀取文件的全部內(nèi)容一行一行;

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

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

之前open()打開文件,最后都得file.close() 很麻煩,現(xiàn)在可以這樣:

with open('dang',mode='r+',encoding='utf-8') as file:print(file.read()) #可以對文件file句柄進(jìn)行其他操作

?

并且使用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())

?

轉(zhuǎn)載于:https://www.cnblogs.com/xuanxuanlove/p/9530203.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。