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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python获取文件字节数_python关于文件操作中的字符个数和字节数

發(fā)布時間:2023/12/19 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python获取文件字节数_python关于文件操作中的字符个数和字节数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

記得剛開始學習python文件操作寫文件的時候有個問題,很奇怪。最后知道了就是字節(jié)數(shù)的原因。

我們先來看個例子。

新建個文件存為utf-8命名為0117utf-8.txt記得去掉BOM頭。

我們用r+模式嘗試去修改

>>> fp=open("d:\\pydelete\\0117utf-8.txt","r+")

>>> fp.write("aa")

2

>>> fp.close()

>>>

結果如下

亂碼一大坨。

這里就涉及了字節(jié)數(shù)了。

因為utf-8存中文是用3個字節(jié)存一個,存英文是用1個字節(jié)存一個英文字符。

如果寫入“aaa”就可以了。

所以切入正題,看看字節(jié)數(shù)和字符個數(shù)。

1.fp.read(arg),fp.write()后返回的數(shù)字是字符個數(shù)。

我們用剛才寫過的文件讀一下看看。

>>> fp=open("d:\\pydelete\\0117utf-8.txt","r+",encoding="utf-8")

>>> fp.read(1)

'a'

>>> fp.read(1)

'a'

>>> fp.read(1)

'a'

>>> fp.read(1) #可以看到這里的數(shù)字應該是字符個數(shù),意思一個字符。

'國'

>>> fp.read(1)

'話'

>>> fp.read(1)

''

>>>

我們再來寫入一些內容。

>>> fp.seek(0.0) #將游標切回行首

0.0

>>> fp.write("新寫入2x")

5 #可以看到這里也是字符個數(shù)。表示寫入5個字符。

>>>fp.flush()

我們算一個結果之前文件內容是“aaa國話”我們寫入“新寫入2x” 之前的文件字節(jié)數(shù)是9,現(xiàn)在寫入11 r+模式會從頭開始覆蓋所以現(xiàn)在文件內容為“新寫入2x”

如果寫入的字節(jié)數(shù)小于之前的有可能出現(xiàn)亂碼(如果原文件有中文存在)

2.fp.tell(),fp.seek(0,0) 是字節(jié)數(shù)

我們加游標切回行首,再來讀下。

>>> fp.seek(0,0)

0

>>> fp.read(1)

'新'

>>> fp.tell()

3 #可以看出tell是返回的字節(jié)數(shù),也就是游標現(xiàn)在應該在新字后邊。

>>>

由此我們試著改變游標位置。

>>> fp.seek(0,0)

0

>>> fp.seek(6,0) #seek的第一個參數(shù)也是字節(jié)數(shù),那現(xiàn)在游標在哪我如果讀一個字符應該是什么? 游標應該在寫字后如果讀一個字符應該是“入”

6

----------

>>> fp.read(1)

'入'

3.fp.truncate(size)

把文件裁成規(guī)定的大小,默認是裁到當前文件操作標記的位置。如果size 比文件的大小還要,依據(jù)系統(tǒng)的不同可能是不改變文件,

也能是用0把文件補到相應的大小,也可能是以一些隨機的內容加上去。參數(shù)也是字節(jié)數(shù)。

我們來嘗試一下

>>> fp.seek(0,0)

0

>>> fp.truncate(6)

6

>>>

此時文件內容應該只剩下“新寫”2字。

知道這些我們在寫文件的時候,就能很清楚效果了。

關于字節(jié)數(shù)可以參考:

總結

以上是生活随笔為你收集整理的python获取文件字节数_python关于文件操作中的字符个数和字节数的全部內容,希望文章能夠幫你解決所遇到的問題。

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