当前位置: 首页>>代码示例>>Python>>正文


Python termios.TCSADRAIN属性代码示例

本文整理汇总了Python中termios.TCSADRAIN属性的典型用法代码示例。如果您正苦于以下问题:Python termios.TCSADRAIN属性的具体用法?Python termios.TCSADRAIN怎么用?Python termios.TCSADRAIN使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在termios的用法示例。


在下文中一共展示了termios.TCSADRAIN属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: raw_terminal

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def raw_terminal():
        if not isatty(sys.stdin):
            f = open('/dev/tty')
            fd = f.fileno()
        else:
            fd = sys.stdin.fileno()
            f = None
        try:
            old_settings = termios.tcgetattr(fd)
            try:
                tty.setraw(fd)
                yield fd
            finally:
                termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
                sys.stdout.flush()
                if f is not None:
                    f.close()
        except termios.error:
            pass 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:21,代码来源:_termui_impl.py

示例2: getchar

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def getchar(echo):
        if not isatty(sys.stdin):
            f = open('/dev/tty')
            fd = f.fileno()
        else:
            fd = sys.stdin.fileno()
            f = None
        try:
            old_settings = termios.tcgetattr(fd)
            try:
                tty.setraw(fd)
                ch = os.read(fd, 32)
                if echo and isatty(sys.stdout):
                    sys.stdout.write(ch)
            finally:
                termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
                sys.stdout.flush()
                if f is not None:
                    f.close()
        except termios.error:
            pass
        _translate_ch_to_exc(ch)
        return ch.decode(get_best_encoding(sys.stdin), 'replace') 
开发者ID:jpush,项目名称:jbox,代码行数:25,代码来源:_termui_impl.py

示例3: read_char_no_blocking

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def read_char_no_blocking():
    ''' Read a character in nonblocking mode, if no characters are present in the buffer, return an empty string '''
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    old_flags = fcntl.fcntl(fd, fcntl.F_GETFL)
    try:
        tty.setraw(fd, termios.TCSADRAIN)
        fcntl.fcntl(fd, fcntl.F_SETFL, old_flags | os.O_NONBLOCK)
        return sys.stdin.read(1)
    except IOError as e:
        ErrorNumber = e[0]
        # IOError with ErrorNumber 11(35 in Mac)  is thrown when there is nothing to read(Resource temporarily unavailable)
        if (sys.platform.startswith("linux") and ErrorNumber != 11) or (sys.platform == "darwin" and ErrorNumber != 35):
            raise
        return ""
    finally:
        fcntl.fcntl(fd, fcntl.F_SETFL, old_flags)
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) 
开发者ID:pindexis,项目名称:marker,代码行数:20,代码来源:readchar.py

示例4: restore_echo

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def restore_echo():
    """Hack for https://stackoverflow.com/questions/6488275 equivalent
    issue with Nmap (from
    http://stackoverflow.com/a/8758047/3223422)

    """
    try:
        fdesc = sys.stdin.fileno()
    except ValueError:
        return
    try:
        attrs = termios.tcgetattr(fdesc)
    except termios.error:
        return
    attrs[3] = attrs[3] | termios.ECHO
    termios.tcsetattr(fdesc, termios.TCSADRAIN, attrs) 
开发者ID:cea-sec,项目名称:ivre,代码行数:18,代码来源:runscans.py

示例5: __init__

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def __init__(self, verbosity, maxJobs):
        super().__init__(verbosity)
        self.__index = 1
        self.__maxJobs = maxJobs
        self.__jobs = {}
        self.__slots = [None] * maxJobs
        self.__tasksDone = 0
        self.__tasksNum = 1

        # disable cursor
        print("\x1b[?25l")

        # disable echo
        try:
            import termios
            fd = sys.stdin.fileno()
            self.__oldTcAttr = termios.tcgetattr(fd)
            new = termios.tcgetattr(fd)
            new[3] = new[3] & ~termios.ECHO
            termios.tcsetattr(fd, termios.TCSADRAIN, new)
        except ImportError:
            pass 
开发者ID:BobBuildTool,项目名称:bob,代码行数:24,代码来源:tty.py

示例6: raw_terminal

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def raw_terminal():
        if not isatty(sys.stdin):
            f = open("/dev/tty")
            fd = f.fileno()
        else:
            fd = sys.stdin.fileno()
            f = None
        try:
            old_settings = termios.tcgetattr(fd)
            try:
                tty.setraw(fd)
                yield fd
            finally:
                termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
                sys.stdout.flush()
                if f is not None:
                    f.close()
        except termios.error:
            pass 
开发者ID:pypa,项目名称:pipenv,代码行数:21,代码来源:_termui_impl.py

示例7: __call__

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def __call__(self):
        import sys, tty, termios
        from select import select

        fd = sys.stdin.fileno()
        old_settings = termios.tcgetattr(fd)

        try:
            tty.setraw(sys.stdin.fileno())

            # [ Wait until ready for reading,
            #   wait until ready for writing
            #   wait for an "exception condition" ]
            # The below line times out after 1 second
            # This can be changed to a floating-point value if necessary
            [i, o, e] = select([sys.stdin.fileno()], [], [], 1)
            if i:
                ch = sys.stdin.read(1)
            else:
                ch = None

        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)

        return ch 
开发者ID:AlexisTM,项目名称:flyingros,代码行数:27,代码来源:getch.py

示例8: getch

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def getch(prompt=None):
    """Reads a single character from stdin.

    Args:
        prompt (optional): prompt that is presented to user.

    Returns:
        The single character that was read.
    """
    if prompt:
        sys.stdout.write(prompt)

    sys.stdout.flush()

    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(sys.stdin.fileno())
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    return ch 
开发者ID:bbugyi200,项目名称:funky,代码行数:24,代码来源:__init__.py

示例9: __call__

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def __call__(self):
        import sys, tty, termios
        fd = sys.stdin.fileno()
        old_settings = termios.tcgetattr(fd)
        try:
            tty.setraw(sys.stdin.fileno())
            ch = sys.stdin.read(1)
        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
        return ch 
开发者ID:EarToEarOak,项目名称:RF-Monitor,代码行数:12,代码来源:utils_cli.py

示例10: getchar

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def getchar():
        fd = sys.stdin.fileno()
        old_settings = termios.tcgetattr(fd)
        try:
            tty.setraw(sys.stdin.fileno())
            ch = sys.stdin.read(1)
        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
        return ch 
开发者ID:cherrypy,项目名称:cherrypy,代码行数:11,代码来源:logtest.py

示例11: make_terminal_unbuffered

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def make_terminal_unbuffered():
    # Based on https://stackoverflow.com/questions/21791621/taking-input-from-sys-stdin-non-blocking
    # pylint:disable=global-statement
    global OLD_TERMINAL_SETTINGS
    OLD_TERMINAL_SETTINGS = termios.tcgetattr(sys.stdin)
    new_settings = termios.tcgetattr(sys.stdin)
    new_settings[3] = new_settings[3] & ~(termios.ECHO | termios.ICANON)
    new_settings[6][termios.VMIN] = 0
    new_settings[6][termios.VTIME] = 0
    termios.tcsetattr(sys.stdin, termios.TCSADRAIN, new_settings) 
开发者ID:brunorijsman,项目名称:rift-python,代码行数:12,代码来源:engine.py

示例12: restore_terminal

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def restore_terminal():
    # pylint:disable=global-statement
    global OLD_TERMINAL_SETTINGS
    if OLD_TERMINAL_SETTINGS:
        termios.tcsetattr(sys.stdin, termios.TCSADRAIN, OLD_TERMINAL_SETTINGS)
        OLD_TERMINAL_SETTINGS = None 
开发者ID:brunorijsman,项目名称:rift-python,代码行数:8,代码来源:engine.py

示例13: _find_getch

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def _find_getch():
    try:
        import termios
    except ImportError:
        # Non-POSIX. Return msvcrt's (Windows') getch.
        import msvcrt
        return msvcrt.getch

    # POSIX system. Create and return a getch that manipulates the tty.
    import sys, tty
    def _getch():
        fd = sys.stdin.fileno()
        old_settings = None
        try:
            old_settings = termios.tcgetattr(fd)
            tty.setraw(fd)
        except termios.error:
            pass
        try:
            ch = sys.stdin.read(1)
        finally:
            if old_settings is not None:
                termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
        return ch

    return _getch 
开发者ID:aaronjanse,项目名称:asciidots,代码行数:28,代码来源:getchar.py

示例14: read_ch

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def read_ch():
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(sys.stdin.fileno())
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    return ch 
开发者ID:simonmonk,项目名称:raspberrypi_cookbook_ed2,代码行数:11,代码来源:keys_sys.py

示例15: readchar

# 需要导入模块: import termios [as 别名]
# 或者: from termios import TCSADRAIN [as 别名]
def readchar():
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(sys.stdin.fileno())
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    if ch == '0x03':
        raise KeyboardInterrupt
    return ch 
开发者ID:simonmonk,项目名称:raspberrypi_cookbook_ed2,代码行数:13,代码来源:rover.py


注:本文中的termios.TCSADRAIN属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。