我有一个Python脚本,它应该从web接口发送数据。PHP正在调用脚本并调用Python脚本。
喜欢:Python sender.py 1
1是存储在变量adres中的值。但我看到的是编译器错误:chr(adres)。它一定是整数。但我不知道怎么解决它。
如果我使用:chr(0x01),它可以很好地工作。
import sys #import sys
import serial #import Serial
ser = serial.Serial ("/dev/ttyS0") #Open onze poort
ser.baudrate = 9600 #Baudrate instellen
adres = sys.argv[1] #Adres verkrijgen van PHP
print adres #Debug Info
byte = chr(adres) #Create byte from value
ser.write(byte) #Send byte with uart
ser.close()我得到的错误是:
文件sender.py,第13行字节= char(adres) TypeError:需要一个整数。
第13行是:
byte = chr(adres) #Create byte from value发布于 2017-06-27 12:53:15
sys.argv[1]是一个字符串,而不是整数;您需要将它转换为整数:
byte = chr(int(adres))另外,最好将其放在try … except块中,以处理传递给脚本的错误参数(而不是对整数的求值)。
发布于 2017-06-27 12:57:35
您需要将参数类型转换为整数。因为参数将在字符串中。
import sys #import sys
import serial #import Serial
ser = serial.Serial ("/dev/ttyS0") #Open onze poort
ser.baudrate = 9600 #Baudrate instellen
adres = int(sys.argv[1]) #Adres verkrijgen van PHP
print adres #Debug Info
byte = chr(adres) #Create byte from value
ser.write(byte) #Send byte with uart
ser.close()https://stackoverflow.com/questions/44780722
复制相似问题