python - 如何防止 Spyder 在获取用户输入后插入新行?

标签 python input ipython newline spyder

Spyder 在每次调用 input() 函数之间在控制台输出中插入一个空行,但我不希望这样(即我想要 input()提示位于控制台中的连续行而不是由空行分隔)。有没有办法做到这一点?我尝试使用 input("foo", end="") 认为它可能像 print() 函数一样工作,但事实并非如此......

代码:

fname = input("Please enter your first name: ")
lname = input("Please enter your last name: ")
print("Pleased to meet you, " + str(fname) + " " + str(lname) + "!")

输出:

Please enter your first name: Jane

Please enter your last name: Doe
Pleased to meet you, Jane Doe!

期望的输出:

Please enter your first name: Jane
Please enter your last name: Doe
Pleased to meet you, Jane Doe!

编辑:

正如其他人在评论部分指出的那样,这个问题是不可重现的,即使对我来说也是如此,除非通过在 Spyder IDE 中使用 IPython 接口(interface)。如果有人在 Spyder 之外运行 IPython,请运行上面的代码并让我知道是否会产生相同的输出。我可以通过 Spyder 的 IPython 接口(interface)重现不需要的输出,但不能通过终端 session 重现,因此这是 IPython 或 Spyder 特有的输出。

最佳答案

(这里是 Spyder 开发人员)这看起来像是我们 IPython 控制台中的一个小错误。请在此报告:

https://github.com/jupyter/qtconsole

注意:此控制台不仅仅是在 Spyder 中嵌入终端 IPython session (这就是为什么与其进行比较根本没有意义)。

相反,它是大多数终端行为的重新实现,但使用图形工具包(称为 Qt)和 Jupyter 内核/前端架构。

关于python - 如何防止 Spyder 在获取用户输入后插入新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44667227/

相关文章:

matplotlib - 发出 show() 后不会出现图形窗口

python - 在 OS X 上安装 memcached 以与 django (python) 一起使用

python - 正则表达式将 IP 与 jsonschema 中的掩码进行匹配

python - 配置 Django 日志记录 - SQL 和其他消息

c++ - 网站 coderbyte 上的 'gets(stdin)' 是怎么回事?

python - 在 iPython 中使用神圣模块

python - 复制大文件夹时打印字符

html - 输入自动完成时在 Firefox 中隐藏默认输入背景图像

JavaScript:input type=checkbox 是否可以在 IE8 中使用 appendChild?

python - 如何从github有效地将代码导入ipython