1

我正在尝试使用此处找到的示例脚本从此处绘制 nexrad 2 级文件但出现无效数据错误。

Traceback (most recent call last):
   File "F:\z0sh\py\NEXRAD_Level_2_File.py", line 28, in <module>
    f = Level2File( filename )
  File "F:\z0bin\python\py38\lib\site-packages\metpy\io\nexrad.py", line 177, in __init__
    self._buffer = IOBuffer.fromfile(fobj)
  File "F:\z0bin\python\py38\lib\site-packages\metpy\io\_tools.py", line 179, in fromfile
    return cls(fobj.read())
  File "bz2.py", line 182, in read
  File "_compression.py", line 103, in read
OSError: Invalid data stream
4

1 回答 1

1

所以问题是,虽然来自该站点的文件具有.bz2扩展名,但它们不是有效的 bzip2-ed 文件。这是一个问题,因为基于扩展,MetPy 假定它应该将其传递给 PythonBZ2File以打开文件。MetPy 确实应该能够从中恢复(只需打开原始文件),但不能——我已经打开了一个问题来解决这个问题。

目前,解决方法是重命名文件并删除.bz2扩展名。所以这有效:

f = Level2File('KIWX_20200322_164108')
于 2020-03-22T22:42:06.127 回答