背景: 好日子,我需要從設備生成的二進制文件中提取信息。該設備帶有一個matlab函數來導入二進制文件。從我從手動了解,二進制文件包含一個64位浮點值問題0和1之間將二進制文件中的64位浮點值導入python
function phase = importData(folder, qUnit);
fileName = sprintf('%s\\%s.PH', folder, qUnit);
file = fopen(fileName, 'rb');
fseek(file, 0, 'bof');
phase = fread(file, inf, 'float64');
:MATLAB函數工作正常,但我希望將數據導入到蟒蛇。我可以知道如何在Python上完成這項工作嗎?我自己做了一些研究,並在底部嘗試了類似的東西。但是當我打印(fileContent)來檢查導入的數據時,python只是停止響應在窗口中。
with open('sample.PH', mode='rb') as binary_file:
fileContent = binary_file.read()
非常感謝你TheBlackCat。你一直在幫助很大,你的方法有效! 我剛剛意識到我有另一個問題,我正在使用的二進制文件之一包含一個32位浮點值Data,緊接着是一個代表數據記錄時間的64位值。 這是怎麼看起來像在提供MATLAB函數。 'code' fseek(file,0,'bof'); data = fread(file,inf,'float32',8); fseek(file,4,'bof'); data_tm = fread(file,inf,'float64',4); '代碼' 這可以使用numpy實現嗎?編輯:抱歉雜亂的帖子,插入新行不工作。 –
@RaymondWong我剛剛更新了我的答案來回答這個問題。請再看看我的答案。另外,如果這回答您的問題,請將其標記爲已接受。 – TheBlackCat