-1
我有一個二進制值的文件。我在看的部分是4字節INT與在MW1, MVAR1, MW2, MVAR2,...
我該如何改進文件數據的批量計算
模式的值我與
temp = array.array("f")
temp.fromfile(file, length *2)
mw_mvar = temp.tolist()
我再計算這樣的幅度讀出值。
mag = [0] * length
for x in range(0,length * 2, 2):
a = mw_mvar[x]
b = mw_mvar[x + 1]
mag[(x/2)] = sqrt(a*a + b*b)
計算(不是讀取)是我的腳本的總長度加倍。我知道(理論上)有一種方法可以更快地完成這個任務,因爲我模仿一個最終會調用fortran的腳本(pyd可以調用Fortran中的函數dll),它能夠對運行時間產生微不足道的影響。
這是我能想到的最好的。任何改進建議?
我也試過math.pow()
,**.5
,**2
沒有區別。
您的代碼段不完整,因爲您忽略了某些術語的定義,例如'thermal_mva_results_base'。你對f文件的解釋也很薄弱。請給出一個更完整的文件示例,文件通常長度的聲明以及完整的代碼片段。變量的類型和數據對您的問題很重要。 –
@RoryDaulton對不起,這是一個錯字。我簡化了帖子的名稱,並沒有改變那個。 – blindguy