【问题标题】:How would you make a python shell in python? [duplicate]你将如何在 python 中制作 python shell? [复制]
【发布时间】:2016-07-20 16:44:02
【问题描述】:

您将如何制作 IDLE shell,只使用 Python 代码?现在,我理解了开始,就像一个简单的 exec(raw_input('>> ')),但是你将如何获得 if 和 else 语句,或者 for 和 while 循环工作?

而 1==1:

被视为无效语法。您将如何防止这种情况发生?

建议的线程与所有答案几乎不是一回事,而是一个答案如何从 python 程序运行 python 程序。其中一个答案有点像我要问的,但它仍然会在 if 和 else 语句、while 或 for 循环中失败。

【问题讨论】:

  • 什么意思,while 1==1: 是无效的语法?完全没问题。试玩的时候忘记放循环体了吗?
  • 如果我必须在 Python 中制作 IDLE shell,它可能看起来像这样 github.com/python/cpython/tree/master/Lib/idlelib
  • @user2357112 我的意思是,如果我的代码是 exec('while 1==1:'),它会引发错误。这意味着在制作 shell 时,我不能让它执行原始输入。

标签: python shell


【解决方案1】:

IDLE 的源代码位于 Python 标准库中,位于 idlelib 包下。你可以look at the source 看看他们是如何实现一切的。

idlelib 包含大量代码,因此尝试通过它可能会让人不知所措。 code module 提供了 Python 交互模式的 Python 实现;您可以通过source code for that 了解如何做事。

【讨论】:

    猜你喜欢
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2022-10-05
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多