私信  •  关注

gdlmx

gdlmx 最近创建的主题
gdlmx 最近回复了

Jupyter笔记本作为 tornado 网络服务器。你的浏览器通过一个插座连接到这个tornado服务器。

插座的I/O由tornado的 asyncio ,它依赖于 add_reader python运行时本机异步模块的实现。正如 documentation 属于 asyncio ,此方法仅在Windows中受支持 SelectorEventLoop 因此,确保在python安装中使用这种事件循环。要找出正在使用哪个eventloop实现,可以在python shell中运行以下命令:

import asyncio
print(asyncio.get_event_loop().__class__)
# Output: <class 'asyncio.windows_events._WindowsSelectorEventLoop'>

有一个正在进行的 discussion 关于允许用户更改 EventLoopPolicy 在jupyter的配置文件中。

6 年前
回复了 gdlmx 创建的主题 » 尝试在python中循环二进制文件

f.read(len) 只返回字节字符串。然后 raw 将是一个字节。

正确的循环方式是:

with open(fname, 'rb') as f:
    while True:
        raw = f.read(8)
        if len(raw)!=8:
            break # ignore the incomplete "record" if any
        record = struct.unpack("HHI", raw )
        print(record)