簡體   English   中英

Python將十六進制寫入文件

[英]Python writing hex to a file

我正在使用Python 3,但我希望能夠將十六進制寫入這樣的文件,但我無法使其正常工作。 這給我一個TypeError,如果對其進行編碼,則輸出到文件的信息不正確。

junk = '\x90' * 5
junk += '\xcc' * 5

fo = open("foo.list", "wb")

fo.write(junk)
fo.close()

這給了我一個type error, str doesn't support the buffer interface ,如果我這樣做的話

junk = '01BDF23A'
junk += '90' * 5
junk += 'cc' * 5


fo = open("foo3.m3u", "wb")
fo.write(binascii.unhexlify(junk))
fo.close()

它有效,但我想將它們定義為十六進制(\\ x90),有什么想法嗎?

在此先感謝您的幫助!

在Python 3中,如果嘗試write str ,則必須顯式指定編碼。 您嘗試編寫的是字節文本(請參閱python 2至3指南 ),因此將代碼更改為實際使用字節文本

junk = b'\x90' * 5
junk += b'\xcc' * 5

fo.write(junk)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM