如何在屏幕上显示与 Python 按下的字符不同的字符?
How to display on the screen a different character from the pressed one with Python?
我正在尝试编写一个类似于网站 https://www.peteranswers.com/ 的程序。也就是说,在屏幕上显示一个字符,该字符是先前编写的文本的一部分,无论您键入哪个字符。我的尝试是这样的:
f=open("text1.txt", "r")
g=open("text2.txt", "w")
while True:
a = input()
g.write(a)
c = f.read(1)
if not c or a == "$":
break
print (c)
f.close()
g.close()
可以,但我不想显示您键入的字符,也不想每次都按回车键。
这是怎么做到的?是否存在更直接的方法来完成此任务?
我正在研究 Python 3.7 和 IDLE。
您 link 的网站对我不起作用。从代码中,我假设您想要类似密码输入功能的功能。但是您希望回显的字符取自现有文本,而不是什么都没有或一串 ' 's or '*'s.
如果是这样,我建议您在 getpass 模块中针对 Unix 或 Windows 修改适当的函数。请注意,两个回声抑制功能都需要 sys.stdout == sys.stdout(== 系统终端而不是 None)。既不回应任何东西,你必须添加它。当您 运行 在 IDE 中时,两者都不起作用,例如 IDLE,重新绑定 sys.stdout 以打印到 GUI。
如果你在 Windows,你应该阅读 https://docs.python.org/3/library/msvcrt.html#console-i-o。您将使用 putch
来写入字节,或者同时使用 getwch
和 putwch
来输入和输出 unicode 字符。在 Unix 上,您将不得不自己深入研究代码。
我正在尝试编写一个类似于网站 https://www.peteranswers.com/ 的程序。也就是说,在屏幕上显示一个字符,该字符是先前编写的文本的一部分,无论您键入哪个字符。我的尝试是这样的:
f=open("text1.txt", "r")
g=open("text2.txt", "w")
while True:
a = input()
g.write(a)
c = f.read(1)
if not c or a == "$":
break
print (c)
f.close()
g.close()
可以,但我不想显示您键入的字符,也不想每次都按回车键。
这是怎么做到的?是否存在更直接的方法来完成此任务?
我正在研究 Python 3.7 和 IDLE。
您 link 的网站对我不起作用。从代码中,我假设您想要类似密码输入功能的功能。但是您希望回显的字符取自现有文本,而不是什么都没有或一串 ' 's or '*'s.
如果是这样,我建议您在 getpass 模块中针对 Unix 或 Windows 修改适当的函数。请注意,两个回声抑制功能都需要 sys.stdout == sys.stdout(== 系统终端而不是 None)。既不回应任何东西,你必须添加它。当您 运行 在 IDE 中时,两者都不起作用,例如 IDLE,重新绑定 sys.stdout 以打印到 GUI。
如果你在 Windows,你应该阅读 https://docs.python.org/3/library/msvcrt.html#console-i-o。您将使用 putch
来写入字节,或者同时使用 getwch
和 putwch
来输入和输出 unicode 字符。在 Unix 上,您将不得不自己深入研究代码。