python方法調(diào)用
問(wèn)題描述
部分代碼:
#打開(kāi)串口ser=serial.Serial(’COM3’, 9600)#開(kāi)啟一個(gè)線程th=threading.Thread(target=thread_read, args=(ser, msg_parsed))th.start()def thread_read(ser, callback=None): buf=b’ ’ while running.is_set(): buf=read_data(ser, buf,callback=None)def read_data(ser, buf, callback=None): if callback is None: callback=print buf += ser.read(ser.inwaiting())
為啥在read_data()這個(gè)方法里調(diào)用inwaiting(),報(bào)錯(cuò),告訴我has no attribute ’inwaiting()’,在方法外面寫ser.inwaiting()正常,我不是已經(jīng)把serial對(duì)象的引用傳入方法中了嗎?書大神解答!
問(wèn)題解答
回答1:你別傳對(duì)象,用全局變量試試
回答2:print(dir(ser))打印ser的所有方法,找到inWaiting和in_waiting,沒(méi)有inwaiting,所以報(bào)錯(cuò)。你確定在外面調(diào)用的是inwaiting嗎?
[’BAUDRATES’, ’BYTESIZES’, ’PARITIES’, ’STOPBITS’, ’_GetCommModemStatus’, ’_SAVED_SETTINGS’, ’__abstractmethods__’, ’__class__’, ’__del__’, ’__delattr__’, ’__dict__’, ’__dir__’, ’__doc__’, ’__enter__’, ’__eq__’, ’__exit__’, ’__format__’, ’__ge__’, ’__getattribute__’, ’__gt__’, ’__hash__’, ’__init__’, ’__iter__’, ’__le__’, ’__lt__’, ’__module__’, ’__ne__’, ’__new__’, ’__next__’, ’__reduce__’, ’__reduce_ex__’, ’__repr__’, ’__setattr__’, ’__sizeof__’, ’__str__’, ’__subclasshook__’, ’_abc_cache’, ’_abc_negative_cache’, ’_abc_negative_cache_version’, ’_abc_registry’, ’_baudrate’, ’_break_state’, ’_bytesize’, ’_cancel_overlapped_io’, ’_checkClosed’, ’_checkReadable’, ’_checkSeekable’, ’_checkWritable’, ’_close’, ’_dsrdtr’, ’_dtr_state’, ’_inter_byte_timeout’, ’_orgTimeouts’, ’_overlapped_read’,’_overlapped_write’, ’_parity’, ’_port’, ’_port_handle’, ’_reconfigure_port’, ’_rs485_mode’, ’_rts_state’, ’_rtscts’, ’_stopbits’, ’_timeout’, ’_update_break_state’, ’_update_dtr_state’, ’_update_rts_state’, ’_write_timeout’, ’_xonxoff’, ’applySettingsDict’, ’apply_settings’, ’baudrate’, ’break_condition’, ’bytesize’, ’cancel_read’, ’cancel_write’, ’cd’, ’close’, ’closed’, ’cts’, ’dsr’, ’dsrdtr’,’dtr’, ’fileno’, ’flush’, ’flushInput’, ’flushOutput’, ’getCD’, ’getCTS’, ’getDSR’, ’getRI’, ’getSettingsDict’, ’get_settings’, ’inWaiting’, ’in_waiting’, ’interCharTimeout’, ’inter_byte_timeout’, ’iread_until’, ’isOpen’, ’is_open’, ’isatty’, ’name’, ’open’, ’out_waiting’, ’parity’, ’port’, ’portstr’, ’read’, ’read_all’, ’read_until’, ’readable’, ’readall’, ’readinto’, ’readline’, ’readlines’, ’reset_input_buffer’, ’reset_output_buffer’, ’ri’, ’rs485_mode’, ’rts’, ’rtscts’, ’seek’, ’seekable’, ’sendBreak’, ’send_break’, ’setDTR’, ’setPort’, ’setRTS’, ’set_buffer_size’, ’set_output_flow_control’, ’stopbits’, ’tell’, ’timeout’, ’truncate’, ’writable’, ’write’, ’writeTimeout’, ’write_timeout’,’writelines’, ’xonxoff’]
相關(guān)文章:
1. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果2. dockerfile - [docker build image失敗- npm install]3. docker-compose中volumes的問(wèn)題4. golang - 用IDE看docker源碼時(shí)的小問(wèn)題5. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!6. docker內(nèi)創(chuàng)建jenkins訪問(wèn)另一個(gè)容器下的服務(wù)器問(wèn)題7. mac里的docker如何命令行開(kāi)啟呢?8. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題9. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?10. nignx - docker內(nèi)nginx 80端口被占用

網(wǎng)公網(wǎng)安備