Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x TypeError:不支持unicode字符串,请将其编码为字节:'\t\x10\x03和#xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00s0';_Python 3.x - Fatal编程技术网

Python 3.x TypeError:不支持unicode字符串,请将其编码为字节:'\t\x10\x03和#xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00s0';

Python 3.x TypeError:不支持unicode字符串,请将其编码为字节:'\t\x10\x03和#xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00s0';,python-3.x,Python 3.x,我使用这个python代码来控制我的2F抓取器,但是我得到了错误类型错误,有时还有通信端口错误。这是我的代码: import serial import time import binascii ser = serial.Serial(port='COM8',baudrate=9600,timeout=1,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS) counter =

我使用这个python代码来控制我的2F抓取器,但是我得到了错误类型错误,有时还有通信端口错误。这是我的代码:

import serial

import time

import binascii

ser = serial.Serial(port='COM8',baudrate=9600,timeout=1,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS)

counter = 0

while counter < 1:

    counter = counter + 1

    ser.write("\x09\x10\x03\xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x73\x30")

    data_raw = ser.readline()

    print(data_raw)

    data = binascii.hexlify(data_raw)

    print ("Response 1 ", data)

    time.sleep(0.01)

 

ser.write("\x09\x03\x07\xD0\x00\x01\x85\xCF")

data_raw = ser.readline()

print(data_raw)

data = binascii.hexlify(data_raw)

print ("Response 2 ", data)

time.sleep(1)

 

while(True):

    print ("Close gripper")

    ser.write("\x09\x10\x03\xE8\x00\x03\x06\x09\x00\x00\xFF\xFF\xFF\x42\x29")

    data_raw = ser.readline()

    print(data_raw)

    data = binascii.hexlify(data_raw)

    print ("Response 3 ", data)

    time.sleep(2)

 

print ("Open gripper")

ser.write("\x09\x10\x03\xE8\x00\x03\x06\x09\x00\x00\x00\xFF\xFF\x72\x19")

data_raw = ser.readline()

print(data_raw)

data = binascii.hexlify(data_raw)

print ("Response 4 ", data)

time.sleep(2)
导入序列号
导入时间
导入binascii
ser=serial.serial(端口='COM8',波特率=9600,超时=1,奇偶校验=serial.parity\u NONE,停止位=serial.stoppits\u ONE,字节大小=serial.EIGHTBITS)
计数器=0
当计数器<1时:
计数器=计数器+1
序列写入(“\x09\x10\x03\xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00\x00\x73\x30”)
data_raw=ser.readline()
打印(原始数据)
data=binascii.hexlify(数据_原始)
打印(“响应1”,数据)
睡眠时间(0.01)
序列写入(“\x09\x03\x07\xD0\x00\x01\x85\xCF”)
data_raw=ser.readline()
打印(原始数据)
data=binascii.hexlify(数据_原始)
打印(“响应2”,数据)
时间。睡眠(1)
虽然(正确):
打印(“闭合夹持器”)
顺序写入(“\x09\x10\x03\xE8\x00\x03\x06\x09\x00\x00\xFF\xFF\xFF\xFF\x42\x29”)
data_raw=ser.readline()
打印(原始数据)
data=binascii.hexlify(数据_原始)
打印(“响应3”,数据)
时间。睡眠(2)
打印(“打开夹持器”)
顺序写入(“\x09\x10\x03\X8\x00\x03\x06\x09\x00\x00\x00\xFF\xFF\x72\x19”)
data_raw=ser.readline()
打印(原始数据)
data=binascii.hexlify(数据_原始)
打印(“响应4”,数据)
时间。睡眠(2)
我收到的错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-1-830d10cd2151> in <module>
     13     counter = counter + 1
     14 
---> 15     ser.write("\x09\x10\x03\xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x73\x30")
     16 
     17     data_raw = ser.readline()

~\Anaconda3\lib\site-packages\serial\serialwin32.py in write(self, data)
    308             #~ raise TypeError('expected %s or bytearray, got %s' % (bytes, type(data)))
    309         # convert data (needed in case of memoryview instance: Py 3.1 io lib), ctypes doesn't like memoryview
--> 310         data = to_bytes(data)
    311         if data:
    312             #~ win32event.ResetEvent(self._overlapped_write.hEvent)

~\Anaconda3\lib\site-packages\serial\serialutil.py in to_bytes(seq)
     63         return seq.tobytes()
     64     elif isinstance(seq, unicode):
---> 65         raise TypeError('unicode strings are not supported, please encode to bytes: {!r}'.format(seq))
     66     else:
     67         # handle list of integers and bytes (one or more items) for Python 2 and 3

TypeError: unicode strings are not supported, please encode to bytes: '\t\x10\x03è\x00\x03\x06\x00\x00\x00\x00\x00\x00s0'
TypeError回溯(最近一次调用)
在里面
13计数器=计数器+1
14
--->15序列写入(“\x09\x10\x03\xE8\x00\x03\x06\x00\x00\x00\x00\x00\x00\x03\x30”)
16
17 data_raw=ser.readline()
~\Anaconda3\lib\site packages\serial\serialwin32.py写入(self,data)
308#~raise TypeError('应为%s或bytearray,获得%s'(字节,类型(数据)))
309#转换数据(memoryview实例:Py 3.1 io lib时需要),ctypes不喜欢memoryview
-->310数据=至字节(数据)
311如果数据:
312#~win32event.ResetEvent(self._重叠_write.hEvent)
~\Anaconda3\lib\site packages\serial\serialutil.py in to_字节(seq)
63返回序列tobytes()
64 elif isinstance(序列,unicode):
--->65 raise TypeError('不支持unicode字符串,请编码为字节:{!r}'。格式(seq))
66.其他:
67#处理Python2和Python3的整数和字节列表(一个或多个项)
类型错误:不支持unicode字符串,请将其编码为字节:'\t\x10\x03è\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00s0'

请在您的帖子中包含完整的回溯错误。这是我收到的错误:这是否回答了您的问题?