当用户在 CLI 中输入文本时,制作一个实时更新计数器以显示剩余字符数 (windows + python)
Make a live updating counter to show the number of remaining characters WHILE the user inputs the text in CLI (windows + python)
基本上是标题。
在 Python 中,我想从用户那里获取最多 280 个字符的输入,并在用户键入输入时在 CLI 上显示实时更新计数器。(类似于进度条)
让一些文本在屏幕上更新很简单,但我不知道如何计算用户输入的字符数。
P.S。 First-time Whosebug 用户,请放轻松。 :)
编辑:
代码库:https://github.com/Prathamesh-Ghatole/100DaysOfCode-Writer/blob/master/main.py
我还没有要实现的特定代码片段。
但我基本上想在循环中从用户那里获取字符输入,其中每次迭代都执行以下操作:
- 接受单个字符输入。
- 更新计算输入字符总数的变量。
- 从字符数限制中减去输入的字符数。
- 超过字符限制时触发标志。
使用 pynput
包似乎可行。
from pynput.keyboard import Key, Listener
import os
length = 0
char_count = dict()
text = str()
def on_press(key):
try:
global text
global char_count
global length
if length >= 280:
print("[+] Character Limit Excided!")
return False
elif key == Key.enter:
return False
else:
os.system("cls")
if key == Key.space:
text += ' '
else:
text += f"{key.char}"
char_count[text[-1]] = char_count.get(text[-1], 0) + 1
length += 1
print(f"Enter Text: {text}")
print(f"Characters Left: {280 - length}")
print(f"Char Count {char_count}")
except:
exit()
def main():
os.system("cls")
with Listener(on_press=on_press) as listner:
print("Enter Text: ")
listner.join()
if __name__ == '__main__':
main()
基本上是标题。
在 Python 中,我想从用户那里获取最多 280 个字符的输入,并在用户键入输入时在 CLI 上显示实时更新计数器。(类似于进度条)
让一些文本在屏幕上更新很简单,但我不知道如何计算用户输入的字符数。
P.S。 First-time Whosebug 用户,请放轻松。 :)
编辑: 代码库:https://github.com/Prathamesh-Ghatole/100DaysOfCode-Writer/blob/master/main.py
我还没有要实现的特定代码片段。
但我基本上想在循环中从用户那里获取字符输入,其中每次迭代都执行以下操作:
- 接受单个字符输入。
- 更新计算输入字符总数的变量。
- 从字符数限制中减去输入的字符数。
- 超过字符限制时触发标志。
使用 pynput
包似乎可行。
from pynput.keyboard import Key, Listener
import os
length = 0
char_count = dict()
text = str()
def on_press(key):
try:
global text
global char_count
global length
if length >= 280:
print("[+] Character Limit Excided!")
return False
elif key == Key.enter:
return False
else:
os.system("cls")
if key == Key.space:
text += ' '
else:
text += f"{key.char}"
char_count[text[-1]] = char_count.get(text[-1], 0) + 1
length += 1
print(f"Enter Text: {text}")
print(f"Characters Left: {280 - length}")
print(f"Char Count {char_count}")
except:
exit()
def main():
os.system("cls")
with Listener(on_press=on_press) as listner:
print("Enter Text: ")
listner.join()
if __name__ == '__main__':
main()