Форум сайта python.su
Коллеги, помогите пожалуйста.
import serial
ser1 = serial.Serial('/dev/ttyS0')
ser2 = serial.Serial('/dev/ttyS1')
def read(line):
data = ser?.read()
lst.append(data)
Нужно подставить вместо “?” нужный номер из line
data = ser'%d'.read() % (line)
дает ^
SyntaxError: invalid syntax
Офлайн
Списки используй.
Офлайн
>>> import serial
>>> ser = ‘ser1’, ‘ser2’
>>> ser
('ser1', ‘ser2’)
>>> data = ser.read()
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
AttributeError: ‘str’ object has no attribute ‘read’
Списки - это строки. Это типовая ошибка, уже пробовал более “простой” :)) вариант
>>> data = ‘ser + line’.read()
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
AttributeError: ‘str’ object has no attribute ‘read’
а нужно “приделать” номер к вызову класса :(
Офлайн
Списки - это строки.?????
ser =
def read(line):
data = ser.read()
lst.append(data)
Офлайн
или например так если нужно управлять индексом
ser={
1: serial.Serial('/dev/ttyS0'),
2: serial.Serial('/dev/ttyS1'),
}
def read(line):
data = ser.read()
lst.append(data)
Офлайн
Ferroman
evgenyl
Да, действительно! Спасибо за науку!!!
Вылетело, что в списке м.б. что угодно :(
Офлайн
В питоне всё - объекты. Так что можно сохранять и передавать практически все что угодно.
Офлайн