首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pySerial: flush reset_input_buffer + reset_output_buffer

pySerial: flush reset_input_buffer + reset_output_buffer
EN

Stack Overflow用户
提问于 2020-03-19 23:52:59
回答 1查看 5.4K关注 0票数 3

我正在尝试使用pySerial==3.4,并发现serial.Serial.flush()上的文档非常缺乏:

像对象一样刷新文件。在这种情况下,要等到所有数据都被写入。

来源

问题

  • 什么是“文件类对象”?
  • 什么东西被冲了?
  • 什么时候才能使用flush,而不是单独地重置输入/输出缓冲区?
代码语言:javascript
运行
复制
serial = Serial("COM3")

# Option 1
serial.flush()

# Option 2
serial.reset_input_buffer()
serial.reset_output_buffer()

相关问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 02:46:07

看起来是这样的:

什么是“类似文件的对象”?

Python中的文件类对象到底是什么?

类似文件的对象主要是StringIO对象、连接的套接字和well.实际文件对象。如果一切顺利,urllib.urlopen()还返回一个类似objekt的文件,支持必要的方法。 类文件对象 文件对象的同义词。 文件对象 向底层资源公开面向文件的API的对象(包括read()或write())。根据创建方式的不同,文件对象可以中介对真正的磁盘文件或其他类型的存储或通信设备(例如标准输入/输出、内存中的缓冲区、套接字、管道等)的访问。文件对象也称为类似文件的对象或流. 文件对象实际上有三类:原始二进制文件、缓冲二进制文件和文本文件。它们的接口在io模块中定义。创建文件对象的规范方法是使用open()函数。

io -用于处理流的核心工具

io模块提供Python处理各种类型I/O的主要工具。I/O有三种主要类型:文本I/O、二进制I/O和原始I/O。这些是泛型类别,每个I/O都可以使用各种备份存储。属于这些类别中的任何一个的具体对象称为文件对象。其他常见术语是流和类似文件的对象。

什么被冲了?

保存在输出缓冲区中的数据。

什么时候才能使用刷新,而不是单独地重置输入/输出缓冲区?

有已经输出的数据(write()),在关闭之前将调用它。

flush()与输入缓冲区或reset_input_buffer()无关。

flush()具有与reset_output_buffer()不同的功能。

flush()将输出缓冲区中的所有数据发送给对等方,而reset_output_buffer()则丢弃输出缓冲区中的数据。

缓冲器() 清除输出缓冲区,中止当前输出并丢弃缓冲区中的所有内容。 注意,对于一些USB串行适配器,这可能只会刷新操作系统的缓冲区,而不是USB部分中可能存在的所有数据。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60766714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档