web-dev-qa-db-ja.com

Pythonバックスペースキーストロークを発生させるコード?

私はバックスペースキーを別の方法でマッピングする方法を探し続けていますが、それは私が求めているものではありません。

私はpythonコードを書いているプログラムにいます、そして基本的に私は誰かがGUIのバックスペースキーを押しただけだとプログラムに思わせるコード行を書きたいです(バックスペースキーとして)何かを削除します)

バックスペースキーストロークでどのようにコーディングしますか?

7
aescript

バックスペースの文字は'\b'しかし、GUIに影響を与えたいようです。

プログラムがGUIを変更した場合は、アクティブな入力フィールドから最後の文字を削除するだけです。

4
Brent Washburne

そして、私はそれを手に入れました!

print('\b ', end="", flush=True) 
sys.stdout.write('\010')

それはバックスペースです!

foo = "abc"
foo = foo + "\b" + "xyz"
print foo
>> abxyz
print len(foo)
>> 7

if key == '\b': delete_selected_points()
4
Jiminion

他の回答が言っているように、バックスペースには「\ b」を使用します。あなたの場合の秘訣は、改行の代わりにsys.stdout.writeを使用して改行を追加しないことです。次に、適切な数のバックスペース文字を待って印刷します。

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
Joseph Sheedy