Уведомления

Группа в Telegram: @pythonsu

#1 Июль 28, 2008 13:01:33

vpp
От:
Зарегистрирован: 2008-07-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

Коллеги, помогите пожалуйста.

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



Офлайн

#2 Июль 28, 2008 13:06:24

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

Списки используй.

Офлайн

#3 Июль 28, 2008 13:23:03

vpp
От:
Зарегистрирован: 2008-07-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

>>> 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’

а нужно “приделать” номер к вызову класса :(



Офлайн

#4 Июль 28, 2008 13:29:26

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

Списки - это строки.
?????
С чего вы это взяли? Не надо просто прописывать их как строки.
ser =

def read(line):
data = ser.read()
lst.append(data)

Офлайн

#5 Июль 28, 2008 13:30:44

evgenyl
От:
Зарегистрирован: 2008-07-22
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

или например так если нужно управлять индексом

ser={
1: serial.Serial('/dev/ttyS0'),
2: serial.Serial('/dev/ttyS1'),
}
def read(line):
data = ser.read()
lst.append(data)



Офлайн

#6 Июль 28, 2008 13:40:14

vpp
От:
Зарегистрирован: 2008-07-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

Ferroman
evgenyl

Да, действительно! Спасибо за науку!!!
Вылетело, что в списке м.б. что угодно :(



Офлайн

#7 Июль 28, 2008 13:58:09

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Несколько /dev/tty. Перенумеровать вызовы

В питоне всё - объекты. Так что можно сохранять и передавать практически все что угодно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version