我一直在寻找以不同方式映射退格键的方法,但这并不是我所追求的。
我正在编写python代码的程序中,基本上我想写一行代码,导致程序认为有人只是点击了GUI中的Backspace键(因为退格键删除了某些东西)< / p>
我如何在退格键击中编码?
答案 0 :(得分:4)
foo = "abc"
foo = foo + "\b" + "xyz"
print foo
>> abxyz
print len(foo)
>> 7
if key == '\b': delete_selected_points()
答案 1 :(得分:4)
退格符的字符是'\b'
,但听起来你想要影响GUI。
如果您的程序更改了GUI,则只需从活动输入字段中删除最后一个字符。
答案 2 :(得分:4)
我明白了!
stats = Session.query(PlayerMatchStats).join(Match, Match.id == PlayerMatchStats.match_id
).filter_by(player=self).order_by(Match.date.desc()).limit(5).all()
它退格!
答案 3 :(得分:4)
正如其他答案所说,使用&#39; \ b&#39;退格。在你的情况下的技巧是使用sys.stdout.write而不是print来不添加换行符。然后等待并打印适当数量的退格符。
import time
import sys
print("Good morning!")
while True:
time_fmt = "It's %I:%M:%S %p on %A, %b %d, %Y"
time_str = time.strftime(time_fmt)
sys.stdout.write(time_str)
sys.stdout.flush()
time.sleep(1)
sys.stdout.write("\b"*len(time_str))
答案 4 :(得分:0)
更新,因为这仍然会在搜索中弹出。
在 Python3 中,如果您使用 print()
参数,\<end\>
可以并且确实可以工作。意思是不需要 sys.stdout.write()
和 .flush()
。
例如。
print("\b"*len(time_str),end='')