minicom
является большим для интерактивного использования, но это не правильный инструмент для программного ввода-вывода.
Ваша локальная программа Python должна просто открыться /dev
узел для последовательного порта. Это работает точно так же, как запись в файл:
fd = os.open('/dev/ttyUSB0', os.O_RDWR)
fd.write(...)
Единственный хитрый бит настраивает скорость передачи и такой. Для этого пользуйтесь termios библиотекой Python:
attr = termios.tcgetattr(fd)
attr[5] = attr[6] = termios.B9600
termios.tcsetattr(fd, termios.TCSANOW, attr)
Документы Python для этого в значительной степени предполагают, что Вы использовали этот API от C и просто нуждаетесь в помощи, переводя в Python. Так, при потере работоспособности по этому пути необходимо использовать классику как Stevens и Усовершенствованное Программирование Rago в Среде Unix.
Высокоуровневая библиотека, которая получает Вас выше termios
уровень и дает Вам, мобильность к не - *ix системы типов является pySerial.
с командой копания
, вам не нужно выполнять какие-либо дополнительные анализа вывода:
$ dig stackexchange.com +short
198.252.206.140
при ищете внутреннее имя хоста, это может быть мудрым Для использования параметра +
+ :
$ dig myinternalhost +search +short
192.168.1.120
Я использую это в сценариях периодически для переменного назначения. TR -D [: Space:]
Удаляет любые новые символы новой строки.
host -t A hostname | awk '{print $NF}' | tr -d [:space:]
Редактировать (кредит @Jordanm):
host -t A hostname | awk '{printf $NF}'
не нуждается в вызове TR
.
Что насчет этого?
% host -t A stackexchange.com | sed -e 's#.* has address ##'
198.252.206.140