Ich habe versucht, das Timing der folgenden Funktion zu finden, die verwendet wird, um die Adresse für das ZigBee
Modul zu finden, das an meiner seriellen Schnittstelle angeschlossen ist. Aber als ich versuchte, das Timing mit timeit.Timer()
Methode zu finden. Es reagiert nicht auf die für die Ausführung erforderliche Zeit.Finde das Timing der Funktion in Zigbee Python Modul
from xbee import ZigBee
from timeit import TImer
import serial
def ByteToHex(bytestring):
return ''.join(["%02X" % ord(x) for x in bytestring]).strip()
def self_add_tx():
s = serial.Serial('COM12', 9600)
xb = ZigBee(s)
xb.send('at',
command='SH')
self_frame_h = xb.wait_read_frame()
self_addh = self_frame_h['parameter']
xb.send('at',
command='SL')
self_frame_l = xb.wait_read_frame()
s.close()
self_addl = self_frame_l['parameter']
self_add = self_addh + self_addl
return ByteToHex(self_add)
print Timer(self_add_tx()).timeit()
Wenn ich das Programm ausführen, wird es mir geben Fehler folgende:
Traceback (most recent call last):
File "I:/HUB/Python_learning/gateway_url_pi/gateway_url_pi_865_mhz/test3.py", line 24, in <module>
print Timer(self_add_tx()).timeit()
File "C:\Python27\lib\timeit.py", line 129, in __init__
compile(setup + '\n' + stmt, dummy_src_name, "exec")
File "<timeit-src>", line 2
0013A20040EA6DEC
^
SyntaxError: invalid syntax
Ich bin nicht in der Lage, den Fehler umderstand. Kennt jemand dieses Problem? Mein Code funktioniert perfekt ohne diese Timer.timeit()
.
Danke für die Antwort. Aber es gibt mir immer noch nicht die Zeit für die Ausführung. Es zeigt den 'Traceback (zuletzt letzter Aufruf): Datei" I: /HUB/Python_learning/gateway_url_pi/gateway_url_pi_865_mhz/test3.py ", Zeile 24, in print Timer ('self_add_tx()'). Timeit() Datei "C: \ Python27 \ lib \ timeit.py", Leitung 201, in timeit Timing = self.inner (it, self.timer) File "", Zeile 6, in inneren Nameerror: global name ' self_add_tx 'ist nicht definiert' –
abhi1610