Задать вопрос
  • Python - чтение c stdin

    enchantner
    @enchantner
    А если читать из потока средствами os? Вот так работает: char = os.read(sys.stdin.fileno(), 1)
  • Python - чтение c stdin

    enchantner
    @enchantner
    А если двойной цикл? Или это неудачное решение при неблокирующем чтении?

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import select
    import sys
    import tty
    
    poller = select.poll()
    poller.register( sys.stdin, select.POLLIN )
    
    tty.setcbreak( sys.stdin )
    
    while True:
        events = poller.poll( 500 )
        if events:
            char = sys.stdin.read(1)
            while char:
                print ord(char)
                char = sys.stdin.read(1)
    

    Если пишу бред — прошу простить, но ваш вопрос заинтересовал. Давно хотел разобраться в подобных вещах.