首页 > 解决方案 > pySerial字典混淆

问题描述

PySerial 3.4 版

我试图弄清楚如何使用 inWaiting 属性。所以我打印出了可用的内容:

>>> import serial

>>> ser = serial.Serial(...intialization stuff)

>>> print (serial.Serial.__dict__.keys())
dict_keys(['__module__', '__doc__', 'open', '_reconfigure_port', 'close', 'in_waiting', 'read', 'cancel_read', 'cancel_write', 'write', 'flush', 'reset_input_buffer', 'reset_output_buffer', 'send_break', '_update_break_state', '_update_rts_state', '_update_dtr_state', 'cts', 'dsr', 'ri', 'cd', 'out_waiting', 'fileno', 'set_input_flow_control', 'set_output_flow_control', 'nonblocking', '__abstractmethods__', '_abc_impl'])

啊,好的,我正在寻找'in_waiting'。但是我仍然遇到问题,所以我这样做了:

>>> print (ser.__dict__.keys())
dict_keys(['is_open', 'portstr', 'name', '_port', '_baudrate', '_bytesize', '_parity', '_stopbits', '_timeout', '_write_timeout', '_xonxoff', '_rtscts', '_dsrdtr', '_inter_byte_timeout', '_rs485_mode', '_rts_state', '_dtr_state', '_break_state', '_exclusive', 'fd', 'pipe_abort_read_r', 'pipe_abort_read_w', 'pipe_abort_write_r', 'pipe_abort_write_w'])

我是一个 python 新手,我完全期望 'ser' 继承(如果这是正确的术语)serial.Serial 的字典。显然我错了。

有人可以帮我理解吗?

顺便说一句,似乎

ser.inWaiting()

是唯一有效但我期望(基于 serial.Serial 字典)使用:

ser.in_waiting

对此也很无知。我正在这里学习:)

标签: pythonpyserial

解决方案


推荐阅读