首页 > 解决方案 > python读取.bin文件中的变量

问题描述

这是文件描述。

DSET ^AHI8_L2MOA.I2016001.000000.v210.bin
TITLE AHI8_L2MOA.I2016001.000000.v210.bin
*OPTIONS yrev little_endian
UNDEF -999999.0
XDEF         3425 linear 1 1
YDEF         1721 linear 1 1
ZDEF           10 linear 1 1
TDEF 1 linear 00:00Z01JAN2016 10mn
VARS       11
mlon 0 99 Longitude (deg)
mlat 0 99 Latitude  (deg)
qflg 0 99 QA flag
mtim 0 99 Measurement time (hours)
snza 0 99 Sensor zenith  angle (deg)
snaa 0 99 Sensor azimuth angle (deg)
soza 0 99 Solar zenith angle (deg)
soaa 0 99 Solar azimuth angle (deg)
selv 0 99 Surface elevation (m)
rada 6 99 Albedo (%), 1,2,3,4,5,6

如何使用python读取此文件中的变量'rada'?我想将它的值分配给 numpy。

提前致谢。

标签: pythonbinary

解决方案


简而言之,您希望逐行遍历文件并解析值

with open('data.bin') as f:
    for line in f:
        parts = line.split() # split the line on whitespace
        if parts[0] == 'mlon': # whatever variable you want to process
            a = int(parts[1]) # convert next two params from strings to integers
            b = int(parts[2])
            desc = ' '.join(parts[2:]) # join the rest back together as the description
            print(a, b, desc)

推荐阅读