亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試讀取使用 Python 數組模塊創建的數據文件時出現問題

嘗試讀取使用 Python 數組模塊創建的數據文件時出現問題

森欄 2022-11-24 15:23:05
我有一個包含 64 位 IEEE 浮點數據的數據文件。我使用 Python array 模塊創建了它:float_array = array('d', data_list)float_array.tofile(out_fname)其中 data_list 是一個包含整數的簡單 Python 列表?,F在我想打開那個文件并從中讀取。我試過這個:fname = 'C:\Data_Files\Python64_Float'file_object  = open(fname, "rb")我嘗試通過兩種方式閱讀它:data = struct.unpack('f', file_object.read(4))ANDdata = file_object.read()但在這兩種情況下,它都返回一個零數組,這不是文件包含的內容。我可以用另一個工具打開和讀取這個文件,但我需要用 Python 來讀取它。我也嘗試用 array.fromfile 讀取它,但 Visual Studio 說“模塊‘array’沒有屬性‘fromfile’——但根據 array 模塊上的 Python 站點,它確實有一個 fromfile 屬性。所以我的問題是:如何將 Python array 模塊創建的文件讀取為 64 位浮點數?
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

您需要將列表作為字節寫入文件,然后使用array.frombytes方法讀取它。


這是一個完整的例子:


寫作

import array


data_list = [1, 2, 3, 4]

float_array = array.array('d', data_list)

# write float_array as bytes

with open("Python64_Float", "wb") as fout:

    float_array.tofile(fout)

閱讀

現在,array.frombytes像這樣閱讀它:


import array


another_float_array = array.array('d', [])

with open("Python64_Float", "rb") as fin:

    another_float_array.frombytes(fin.read())

print(another_float_array)

#array('d', [1.0, 2.0, 3.0, 4.0])


查看完整回答
反對 回復 2022-11-24
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號