我试图覆盖标准raw_input
,因此我可以拥有一个"远程raw_input"。
我需要的是实现这个overriden raw_input
所以当我在我的服务器上使用它时,它将在远程客户端的计算机中打开一个消息框并等待他的回答。收到回复后,我就可以继续我的计划了。
我一直在搜索我如何做到这一点,但我有点迷失,主要是因为我是python的新手。
我必须使用raw_input
执行此操作,这可能吗?有人可以给我一点指导吗?
更新:
我试图实现的一个很好的例子是Jupyter如何处理raw_inputs。
在这个笔记本中我只是运行一个raw_input,然后Jupyter创建一个文本框并等待我的回答:
然后在我输入答案之后,继续使用代码:
那么Jupyter是如何在中间获得的? raw_input创建文本框并等待用户输入?
答案 0 :(得分:0)
由于多种原因,一般不建议覆盖内置组件。相反,请使用receive_input
代替raw_input
尝试以下内容。
SERVER = 1
CLI = 2
...
config.input_type = CLI # in cli code, or SERVER in server code
...
def receive_input(cfg):
if cfg.input_type == CLI:
return raw_input()
elif cfg.input_type == SERVER:
# retrieve from somewhere else
Jupyter可能会扫描被称为函数的raw_input
输入的AST,并用它们的实现替换它。