我使用pyserial打開一個python連接:爲什麼pyserial說我有12個參數時有11個?
self.fpga = serial.Serial(self.fpgaport, 115200, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE, self.fpgapollinterval, False, False, None, False, None)
這與pyserial文檔匹配這裏找到:
__init__(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, writeTimeout=None, dsrdtr=False, interCharTimeout=None)
然而,當我運行該腳本,我得到這個錯誤:
line 391, in run
self.fpga = serial.Serial(self.fpgaport, 115200, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE, self.fpgapollinterval, False, False, None, False, None)
TypeError: __init__() takes at most 11 arguments (12 given)
當我拿出最後一個參數(最後一個參數None
)時,錯誤消失。
我還打印出所有變量名稱,以防一個超過1D。不是那樣。
我使用python 2.6.6,文檔是pyserial 2.6。我一直在努力找出如何找到我使用的是哪個版本的串口。
爲什麼python聲明我提供12個參數,當我只提供11?我必須在這裏錯過一些東西。
編輯:
如何才能知道我已經安裝了該串行版本?我正在運行的這段代碼可能是爲另一個版本的python編寫的(也是串行的)。我需要找出我想要的序列版本作爲參數。
你需要添加自己的第一個參數初始化聲明。 –
我如何知道我安裝了哪個系列版本?我正在運行的這段代碼可能是爲另一個版本的python編寫的(也是串行的)。我需要找出我需要拿走哪個參數才能正確使用我的串口版本。 – stanri
它通常寫在模塊的頂部,您必須自己查找文件並在編輯器中打開它以查看版本。 –