1
所以我正在看我寫的代碼可能多達4年前,我知道它在當時正確運行。但是現在我正在試圖在不同的計算機上運行它,而不是在幾年前我寫它的時候,而現在我得到了一個錯誤。 (今天在Windows 10和Ubuntu上試用過)Python結構格式錯誤
我正在使用Python 2.7,因爲我也是。我正在使用Struct庫從文件中解壓C類型,特別是我試圖解壓4個字節長的值。 這裏是2.7結構庫的文檔。 https://docs.python.org/2/library/struct.html
如果向下滾動到「格式字符」部分,您可以看到一個C類型的表格。
這裏是我的代碼:
bps = int(unpack('L', fmap[o+10:o+14])[0])
這裏是我的錯誤。
error: unpack requires a string argument of length 8
令我迷惑的部分是「長度8」部分。如果我將C類型更改爲「I」,則代碼執行正常。但是文檔似乎很清楚,「L」也是4字節,並且它在過去有效。我想我可以使用「我」類型用於我的目的,但我很好奇,如果有人看到這一點。
啊,非常有趣。我只是在'L'前添加'<'來測試它,它非常有用,所以非常感謝。當我在幾年前編寫和測試時,它會在Windows XP系統上運行,所以這很有意義。 – reallcoder