最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀寫(xiě)二進(jìn)制文件的方法

 更新時(shí)間:2015年05月09日 12:34:11   作者:守株待兔  
這篇文章主要介紹了python讀寫(xiě)二進(jìn)制文件的方法,實(shí)例分析了Python讀寫(xiě)二進(jìn)制文件的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了python讀寫(xiě)二進(jìn)制文件的方法。分享給大家供大家參考。具體如下:

初學(xué)python,現(xiàn)在要讀一個(gè)二進(jìn)制文件,查找doc只發(fā)現(xiàn) file提供了一個(gè)read和write函數(shù),而且讀寫(xiě)的都是字符串,如果只是讀寫(xiě)char等一個(gè)字節(jié)的還行,要想讀寫(xiě)如int,double等多字節(jié)數(shù) 據(jù)就不方便了。在網(wǎng)上查到一篇貼子,使用struct模塊里面的pack和unpack函數(shù)進(jìn)行讀寫(xiě)。下面就自己寫(xiě)代碼驗(yàn)證一下。

>>> from struct import *
>>> file = open(r"c:/debug.txt", "wb")
>>> file.write(pack("idh", 12345, 67.89, 15))
>>> file.close()

接著再將其讀進(jìn)來(lái)

>>> file = open(r"c:/debug.txt", "rb")
>>> (a,b,c) = unpack("idh",file.read(8+8+2))
>>> a,b,c
(12345, 67.890000000000001, 15)
>>> print a,b,c
12345 67.89 15
>>> file.close()

在操作過(guò)程中需要注意數(shù)據(jù)的size

注意  wb,rb中的b字,一定不可以少

方法1:

myfile=open('c:\\t','rb')
s=myfile.read(1)
byte=ord(s) #將一個(gè)字節(jié) 讀成一個(gè)數(shù)
print hex(byte) #轉(zhuǎn)換成16進(jìn)制的字符串

方法2

import struct
myfile=open('c:\\t','rb').read(1)
print struct.unpack('c',myfile)
print struct.unpack('b',myfile)

寫(xiě)入

To open a file for binary writing is easy, it is the same way you do for reading, just change the mode into “wb”.
file = open("test.bin","wb")
But, how to write the binary byte into the file?
You may write it straight away with hex code like this:
file.write("\x5F\x9D\x3E") file.close()
Now, check it out with hexedit,
hexedit test.bin
You will see this:
00000000 5F 9D 3E _.> 00000020 00000040
Now, open the file to append more bytes:
file = open("test.bin","ab")
What if I want to store by bin value into a stream and write it one short?
s ="\x45\xF3" s = s + "%c%c" % (0x45,0xF3) file.write(s) file.close()
Any convenient ways if I can obtained a hex string, and want to convert it back to binary format?
Yes, you just need to import binascii
import binascii hs="5B7F888489FEDA" hb=binascii.a2b_hex(hs) file.write(hb) file.close()

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Django2.2配置xadmin的實(shí)現(xiàn)

    Django2.2配置xadmin的實(shí)現(xiàn)

    這篇文章主要介紹了Django2.2配置xadmin的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 詳解Python 正則表達(dá)式模塊

    詳解Python 正則表達(dá)式模塊

    這篇文章主要介紹了Python 正則表達(dá)式模塊詳解,分為兩部分,包括基礎(chǔ)語(yǔ)法總結(jié),re模塊的相關(guān)知識(shí),需要的朋友可以參考下
    2018-11-11
  • PyCharm關(guān)閉礙眼的波浪線(xiàn)圖文詳解

    PyCharm關(guān)閉礙眼的波浪線(xiàn)圖文詳解

    這篇文章主要介紹了PyCharm關(guān)閉礙眼的波浪線(xiàn)的實(shí)現(xiàn),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • python利用文件時(shí)間批量重命名照片和視頻

    python利用文件時(shí)間批量重命名照片和視頻

    這篇文章主要為大家詳細(xì)介紹了python利用文件時(shí)間批量重命名照片和視頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python實(shí)現(xiàn)多圖繪制系統(tǒng)的示例代碼

    Python實(shí)現(xiàn)多圖繪制系統(tǒng)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)制作一個(gè)多圖繪制系統(tǒng),文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-09-09
  • Pytorch GPU內(nèi)存占用很高,但是利用率很低如何解決

    Pytorch GPU內(nèi)存占用很高,但是利用率很低如何解決

    這篇文章主要介紹了Pytorch GPU內(nèi)存占用很高,但是利用率很低的原因及解決方法,具有很好的參考價(jià)值,希望對(duì)大家 有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Pytest自動(dòng)化測(cè)試的具體使用

    Pytest自動(dòng)化測(cè)試的具體使用

    Pytest是一個(gè)Python的自動(dòng)化測(cè)試框架,它可用于編寫(xiě)單元測(cè)試、功能測(cè)試、集成測(cè)試和端到端測(cè)試,本文就來(lái)介紹一下Pytest自動(dòng)化測(cè)試的具體使用,感興趣的可以了解一下
    2024-01-01
  • Django CBV類(lèi)的用法詳解

    Django CBV類(lèi)的用法詳解

    這篇文章主要介紹了Django CBV類(lèi)的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python圖像運(yùn)算之圖像點(diǎn)運(yùn)算與灰度化處理詳解

    Python圖像運(yùn)算之圖像點(diǎn)運(yùn)算與灰度化處理詳解

    這篇文章主要介紹了圖像點(diǎn)運(yùn)算的灰度化處理的相關(guān)知識(shí),包括各種灰度算法的實(shí)現(xiàn),以及灰度線(xiàn)性變換和灰度非線(xiàn)性變換。需要的可以參考一下
    2022-02-02
  • python3 通過(guò) pybind11 使用Eigen加速代碼的步驟詳解

    python3 通過(guò) pybind11 使用Eigen加速代碼的步驟詳解

    這篇文章主要介紹了python3 通過(guò) pybind11 使用Eigen加速代碼的步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

仁怀市| 鹤岗市| 清镇市| 南丰县| 桐梓县| 皋兰县| 乐至县| 微博| 郯城县| 江陵县| 武川县| 宽甸| 华阴市| 新建县| 望都县| 平定县| 宝鸡市| 磐安县| 白水县| 鄄城县| 萨迦县| 东阳市| 北流市| 岑溪市| 曲靖市| 天津市| 盘锦市| 龙岩市| 遂川县| 噶尔县| 大姚县| 临潭县| 乐昌市| 汝南县| 安远县| 马山县| 泽库县| 涞水县| 安多县| 始兴县| 什邡市|