本文整理汇总了Python中msvcrt.getwch函数的典型用法代码示例。如果您正苦于以下问题:Python getwch函数的具体用法?Python getwch怎么用?Python getwch使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getwch函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: processKey
def processKey():
"""Process the user input for menu navigation."""
global option, size, difficulty, placeObstacles, play, quit
key = msvcrt.getwch()
if key == "\xe0":
key = msvcrt.getwch()
if key == Direction.UP and option > 0:
option -= 1
elif key == Direction.DOWN and option < 4:
option += 1
elif key == Direction.LEFT:
if option == 1 and size > 0 and size <= 2:
size -= 1
elif option == 2 and difficulty > 0 and difficulty <= 2:
difficulty -= 1
elif option == 3:
placeObstacles = not placeObstacles
elif key == Direction.RIGHT:
if option == 1 and size >= 0 and size < 2:
size += 1
elif option == 2 and difficulty >= 0 and difficulty < 2:
difficulty += 1
elif option == 3:
placeObstacles = not placeObstacles
elif key == "\r":
if option == 0:
play = True
elif option == 4:
quit = True
开发者ID:jaminthorns,项目名称:ascii-snake,代码行数:32,代码来源:Play.py
示例2: _getch
def _getch():
a = msvcrt.getwch()
if a == '\x00' or a == '\xe0':
b = msvcrt.getwch()
return [a, b]
else:
return a
开发者ID:FedeG,项目名称:autopython,代码行数:7,代码来源:console.py
示例3: getkey
def getkey(self):
while True:
z = msvcrt.getwch()
if z == '\r':
return '\n'
elif z in '\x00\x0e': # functions keys, ignore
msvcrt.getwch()
else:
return z
开发者ID:hardkrash,项目名称:pyserial,代码行数:9,代码来源:miniterm.py
示例4: getkey
def getkey(self):
while True:
z = msvcrt.getwch()
if z == unichr(13):
return unichr(10)
elif z in (unichr(0), unichr(0x0e)): # functions keys, ignore
msvcrt.getwch()
else:
return z
开发者ID:bq,项目名称:witbox-updater,代码行数:9,代码来源:miniterm.py
示例5: readch
def readch(echo=True):
"Get a single character on Windows."
while msvcrt.kbhit(): # clear out keyboard buffer
msvcrt.getwch()
ch = msvcrt.getwch()
if ch in u'\x00\xe0': # arrow or function key prefix?
ch = msvcrt.getwch() # second call returns the actual key code
if echo:
msvcrt.putwch(ch)
return ch
开发者ID:dmf24,项目名称:pyscripting,代码行数:10,代码来源:getkey.py
示例6: get_key
def get_key():
ch = msvcrt.getwch()
if ch in ('\x00', '\xe0'): # arrow or function key prefix?
ch = msvcrt.getwch() # second call returns the actual key code
if ch in const.KEY_MAPPING:
return const.KEY_MAPPING[ch]
if ch == 'H':
return const.KEY_UP
if ch == 'P':
return const.KEY_DOWN
return ch
开发者ID:alexandre-paroissien,项目名称:thefuck,代码行数:13,代码来源:win32.py
示例7: WinGetPass
def WinGetPass(prompt='Password: ', stream=None):
"""
Prompt for password with echo off, using Windows getch().
:param stream: No idea #SorryNotSorry
:param prompt: What to display/prompt to the user.
"""
if sys.stdin is not sys.__stdin__:
return FallbackGetPass(prompt, stream)
for c in prompt:
msvcrt.putwch(c)
pw = ""
while 1:
c = msvcrt.getwch()
if c == '\r' or c == '\n':
break
if c == '\003':
break
# raise KeyboardInterrupt
if c == '\b':
if len(pw) > 0:
pw = pw[:-1]
msvcrt.putwch('\x08')
msvcrt.putwch(' ')
msvcrt.putwch('\x08')
else:
msvcrt.putwch('*')
pw = pw + c
msvcrt.putwch('\r')
msvcrt.putwch('\n')
return pw
开发者ID:iaz3,项目名称:RbxAPI,代码行数:31,代码来源:inputPass.py
示例8: __ichr
def __ichr(self):
addr = self.__stck.pop()
# Input Routine
while msvcrt.kbhit():
msvcrt.getwch()
while True:
char = msvcrt.getwch()
if char in '\x00\xE0':
msvcrt.getwch()
elif char in string.printable:
char = char.replace('\r', '\n')
msvcrt.putwch(char)
break
item = ord(char)
# Storing Number
self.__heap.set_(addr, item)
开发者ID:NilSet,项目名称:whitespacers,代码行数:16,代码来源:interpreter.py
示例9: getpass
def getpass(prompt):
if iswindows:
# getpass is broken on windows with python 2.x and unicode, the
# below implementation is from the python 3 source code
import msvcrt
for c in prompt:
msvcrt.putwch(c)
pw = ""
while 1:
c = msvcrt.getwch()
if c == '\r' or c == '\n':
break
if c == '\003':
raise KeyboardInterrupt
if c == '\b':
pw = pw[:-1]
else:
pw = pw + c
msvcrt.putwch('\r')
msvcrt.putwch('\n')
return pw
else:
enc = getattr(sys.stdin, 'encoding', preferred_encoding) or preferred_encoding
from getpass import getpass
return getpass(prompt).decode(enc)
开发者ID:JimmXinu,项目名称:calibre,代码行数:25,代码来源:unicode_getpass.py
示例10: win_terminal
def win_terminal(input_buffer_number, device_buffer_number, input_device):
if msvcrt.kbhit():
# for test purposes!!
# this is the keyboard interface not according to MYC specification:
# a numeric input as ascii (decimal 0... 255) values is converted to one byte
# after each space the sub for checking the v_kbd_input.a is called
# str
t = msvcrt.getwch()
if ord(t) == 32:
if v_kbd_input.a != "":
i = (int(v_kbd_input.a))
if i < 256:
# 0: buffer for input, 1: buffer for device
if input_device == 0:
# start timeout
if v_input_buffer.starttime[input_buffer_number] == 0:
v_input_buffer.starttime[input_buffer_number] = int(time.time())
# input buffer
v_input_buffer.inputline[input_buffer_number] += int_to_bytes(i, 1)
if input_device == 0:
print("HI_in", input_buffer_number, v_kbd_input.a)
else:
print("device_in", device_buffer_number, v_kbd_input.a)
else:
v_device_buffer.data_to_CR[device_buffer_number] += int_to_bytes(i, 1)
v_kbd_input.a = ""
else:
if str.isnumeric(t) == 1:
v_kbd_input.a += t
return
开发者ID:dk1ri,项目名称:MYC_project,代码行数:30,代码来源:commandrouter_terminal_handling.py
示例11: main
def main():
size = input("Choose the size of your board.\n")
b = Board(int(size),int(size))
b.generateNewBlock()
win = graphics.GraphWin("TheBoard", b.cols*cellSize, b.rows*cellSize)
gameOver = False
for i in b.board:
b.board[i].visual.draw(win)
b.board[i].text.draw(win)
while not gameOver:
for i in b.board:
b.board[i].setColor()
if b.board[i].number != 0:
b.board[i].text.setText(str(b.board[i].number))
else:
b.board[i].text.setText("")
char = msvcrt.getwch()
move = None
if char == 'a':
move = 'left'
if char == 's':
move = 'down'
if char == 'd':
move = 'right'
if char == 'w':
move = 'up'
if char == 'q':
print("Bye!")
time.sleep(1)
return
if type(move) == type(''):
b.push(move)
gameOver = b.generateNewBlock()
return "GAME OVER"
开发者ID:MichaelSheely,项目名称:Python-Scripts,代码行数:34,代码来源:python2048.py
示例12: readInput
def readInput(self, prompt, timeout = 10 ) :
start_time = time.time()
sys.stdout.write(u'%s'%prompt)
inputString = u''
while True :
if (time.time() - start_time) > timeout :
return None
if msvcrt.kbhit() :
start_time = time.time()
ch = msvcrt.getwch()
if ord(ch) == 13 : # enter key
if inputString == 'q' :
return None
elif len(inputString) == 0 :
return None
elif len(inputString) > 0 :
return inputString
elif ord(ch) == 8 : # back space
inputString = inputString[0:-1]
else : inputString += ch
try : inputString = unicode(inputString)
except :
sys.stdout.write(u'\r%s%s'%(prompt,
u'unicode converting error for inputString'))
sys.stdout.flush()
continue
sys.stdout.write(u'\r%s%s'%(prompt,' '*(len(inputString)*2+1)))
sys.stdout.write(u'\r%s%s'%(prompt, inputString))
sys.stdout.flush()
return None
开发者ID:ClarkOh,项目名称:MyWork,代码行数:33,代码来源:cxConsoleThread.py
示例13: normal
def normal(world: World, pl: Character):
os.system('setterm -cursor off')
print()
direction = "down"
flag = "none"
while flag == "none":
os.system('cls')
pl.update()
show_world(world, pl)
print(statusbar_generate(pl))
print(itembar_generate(pl, world))
ch = getwch()
if ch == "w" or ch == "W":
world.player_shift(pl, "up")
elif ch == "a" or ch == "A":
world.player_shift(pl, "left")
elif ch == "s" or ch == "S":
world.player_shift(pl, "down")
elif ch == "d" or ch == "D":
world.player_shift(pl, "right")
elif ch == "e" or ch == "E":
if pl.item_available(world):
pl.take(world)
elif pl.nearest(pl.fov(direction, pl.Current_Gun.Range, world), world.Entity_list):
attack(pl, world, pl.nearest(pl.fov(direction, pl.Current_Gun.Range, world), world.Entity_list,
["Hostile", "Tile"]))
elif ch == "`":
print("GoodBye!")
flag = "ExitKey"
开发者ID:mkrooted,项目名称:TankBattle,代码行数:29,代码来源:Controls.py
示例14: win_getpass
def win_getpass(prompt='Password: ', stream=None):
"""Prompt for password with echo off, using Windows getch()."""
if sys.stdin is not sys.__stdin__:
return fallback_getpass(prompt, stream)
import msvcrt
for c in prompt:
msvcrt.putch(c)
pw = ""
while 1:
c = msvcrt.getwch()
if c == '\r' or c == '\n':
break
if c == '\003':
raise KeyboardInterrupt
if c == '\b':
if pw == '':
pass
else:
pw = pw[:-1]
msvcrt.putch('\b')
msvcrt.putch(" ")
msvcrt.putch('\b')
else:
pw = pw + c
msvcrt.putch("*")
msvcrt.putch('\r')
msvcrt.putch('\n')
return pw
开发者ID:essoen,项目名称:ezportify,代码行数:28,代码来源:ezportify.py
示例15: getch
def getch(prompt=''):
"""Reads a character from standard input.
If the user enters a newline, an empty string is returned. For the most
part, this behaves just like input(). An optional prompt can be
provided.
"""
print(prompt, end='')
sys.stdout.flush()
# Windows
try:
char = msvcrt.getwch()
except NameError:
pass
else:
if char == '\r' or char == '\n':
char = ''
print(char, end='')
sys.stdout.flush()
return char
# Unix
file_number = sys.stdin.fileno()
try:
old_settings = termios.tcgetattr(file_number)
except NameError:
pass
except termios.error:
pass
else:
tty.setcbreak(file_number)
try:
char = chr(27)
if sys.stdin.isatty():
# avoid escape sequences and other undesired characters
while ord(char[0]) in (8, 27, 127):
char = sys.stdin.read(len(sys.stdin.buffer.peek(1)))
else:
char = sys.stdin.read(1)
if char == '\r' or char == '\n':
char = ''
if 'old_settings' in locals():
print(char, end='')
sys.stdout.flush()
finally:
try:
termios.tcsetattr(file_number, termios.TCSADRAIN, old_settings)
except NameError:
pass
return char
开发者ID:tylercrompton,项目名称:getch,代码行数:60,代码来源:getch.py
示例16: getkey
def getkey(self):
while True:
z = msvcrt.getwch()
if z == unichr(13):
return unichr(10)
elif z is unichr(0) or z is unichr(0xe0):
try:
code = msvcrt.getwch()
if z is unichr(0):
return self.fncodes[code]
else:
return self.navcodes[code]
except KeyError:
pass
else:
return z
开发者ID:wendlers,项目名称:mpfshell,代码行数:16,代码来源:term.py
示例17: _windows_key_press
def _windows_key_press(wanted_key, stop_event, received_cb):
'''Check for key presses from stdin in non-blocking way. Check until either
`wanted_key` was pressed or `stop_event` has been set.
If we detect `wanted_key` before `stop_event` is set, call `received_cb`
callback and return.
@param wanted_key: key to be pressed (in our case "q")
@type wanted_key: one-letter str
@param stop_event: indicate to stop reading and return
@type stop_event: threading.Event
@param received_cb: called when `wanted_key` was read
@type received_cb: empty-argument callable
'''
import msvcrt
import sys
import time
# skip if input is received from file or pipe redirection
if not sys.stdin.isatty():
return
wanted_key = wanted_key.lower()
while not stop_event.is_set():
if msvcrt.kbhit():
c = msvcrt.getwch()
if c.lower() == wanted_key:
received_cb()
break
else:
time.sleep(0.5)
开发者ID:Mimino666,项目名称:tc-marathoner,代码行数:32,代码来源:key_press.py
示例18: raw_getkey
def raw_getkey():
key = msvcrt.getwch()
log.debug("key: %r", key)
nkey = ord(key)
if nkey in (0, 224):
key2 = msvcrt.getwch()
nkey2 = ord(key2)
log.debug("key2: %r nkey2: %r", key2, nkey2)
if nkey2 in key_map:
return key_map[nkey2]
return "key%s" % key
if key in ("\r", "\n"):
key = "enter"
return key
开发者ID:jtruscott,项目名称:pytality,代码行数:17,代码来源:term_winconsole.py
示例19: _getch_win
def _getch_win(cl, echo=False):
import msvcrt
import time
while not msvcrt.kbhit():
time.sleep(0.1)
if echo:
return msvcrt.getwche()
return msvcrt.getwch()
开发者ID:47-,项目名称:Cyprium,代码行数:8,代码来源:ui.py
示例20: donor_data_modifier
def donor_data_modifier():
lista=[]
found=0
os.system('cls')
change_according_ID=input("What ID you search for: ").lower()
read_line=open("Data/donor.csv", "r+")
read_the_list=csv.reader(read_line,delimiter=',',quotechar='"')
for row in read_the_list:
if row[7]==change_according_ID:
found+=1
lista=row
print('-'*40)
name=row[0].split(" ")
if len(name)==2:
print("\t "+name[1]+ ", "+ name[0])
elif len(name)==3:
print("\t "+name[2]+", "+name[1]+", "+name[0])
print("\t "+str(row[1])+"kg")
print("\t "+row[2][0:4]+"."+row[2][5:7]+"."+row[2][8:10]+" - "+str(row[3])+" years old")
print("\t "+row[9])
print("\t "+row[10])
print("\t "+"ID: "+row[7])
print('-'*40)
print('\n')
read_line.close()
if found==0:
print("This ID not found!")
msvcrt.getwch()
else:
delete_from_csv = open("Data/donor.csv", "r+")
read_csv_line=delete_from_csv.readlines()
delete_from_csv.seek(0)
for i in read_csv_line:
splitted=i.split(',')
if change_according_ID!=splitted[7]:
delete_from_csv.write(i)
delete_from_csv.truncate()
delete_from_csv.close()
write_rows=open("Data/donor.csv", 'a', newline='\n')
writter=csv.writer(write_rows)
lista=donor_data_manager(lista)
writter.writerow(lista)
write_rows.close()
msvcrt.getwch()
main.creat_menu()
开发者ID:Kristof95,项目名称:GoodLuckHaveFun,代码行数:45,代码来源:modify.py
注:本文中的msvcrt.getwch函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论