我正在开发一个Python 3程序,它通过Python Shell从用户那里获取输入。出于某种原因,当我将信息输入shell时(一旦输入请求信息...),它就是着色关键字和具有特定颜色的功能。
例如,如果我输入“John is blue”。它会将单词“is”标记为关键字(从技术上讲它是字符串输入)。
我无法在谷歌上提出任何相关内容,所以我在这里提出问题。谢谢。
这是运行输入的代码。
if __name__ == '__main__':
global string
string = str(input('Enter info: '))
string = bytes(string.encode("utf-8"))
c = cont.key_gen_01()
c.func_01()
run_a = obf_01()
run_a.func_02()
#run_a.func_03()
run_a.func_04()
run_a.func_05(string)
截屏:
IDLE编辑器和Shell窗口中的着色由IDLE语法着色器完成。在Shell中,它还会显示控制台提示('>>>'),内部IDLE错误(现在非常罕见),用户代码追溯和用户代码输出。 (可以在“设置”对话框的“高光”选项卡上自定义颜色。)因此,不应在代码条目之间关闭着色器。
除非你的程序要求输入python代码,否则我认为将input()响应着色是一个小错误。但是如何告诉着色器忽略它们并不明显。对于显示器,input()提示是正常输出。除此之外,可以在提示之前输入响应。在提示之前,在有或没有按ENTER的情况下尝试以下操作。
import time; time.sleep(5); s = input('what??? '); print(s)
以上也适用于python,但至少在Windows控制台中,在显示提示之前我没有看到该条目。
Python input()
函数不会也不会对您输入的文本的显示方式做任何事情。它只是在键入后接收文本然后按Enter键。相反,颜色更改由IDLE shell窗口应用,该窗口实现Python解释器所连接的输入和输出环境。
在突出显示时,IDLE Python shell将所有用户输入视为Python源代码。这只是文本在显示器上呈现方式的变化,它对从input()
函数返回的字符串值没有影响。
其他环境(IDE控制台,终端窗口,笔记本UI等)可以作为Python交互式解释器的前端显示,每个环境都有自己特定的处理文本的方法。