python - 复制粘贴到 Python 交互式解释器和缩进

标签 python indentation copy-paste

这段代码,文件test.py

if 1:
   print "foo"
print "bar"

可以使用 execfile("test.py")python test.py 成功执行,但是当试图将其复制粘贴到 Python 解释器中时:

File "<stdin>", line 3
print "bar"
        ^
SyntaxError: invalid syntax

为什么会这样?解释器是否可以配置为能够成功读取复制粘贴的文本?

我想这可能会影响在解释器中的输入,但对我来说没问题。

最佳答案

缩进可能丢失或损坏。

看看IPython -- 它是一个增强的 Python 解释器,具有许多方便的特性。其中之一是魔法函数 %paste,它允许您粘贴多行代码。

它还有制表符补全、自动缩进……等等。看看他们的网站。


在 IPython 中使用 %paste:

Enter image description here

复制和粘贴内容是 Qt 控制台中固定的内容之一。这里使用的是在新的 IPython qtconsole 中“正常工作”的代码块的普通旧复制粘贴:

Enter image description here

关于python - 复制粘贴到 Python 交互式解释器和缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712389/

相关文章:

javascript - 自动突出显示/复制

python - Django - 跨多个 View 形成并保存进度

python - Paramiko 针对实际存在的命令返回 code127

python - 缩进级别定义 block 的语言语法的 BNF 示例?

python - 为什么在这里引发 IndentationError 而不是 SyntaxError?

linux - 相当于 ctrl c 命令取消程序

python - 获取符合条件的列子集中行的最大值

python - 帮助使用具有多个文件夹的 Python setup.py

java - 如何在java中缩进属性文件中的内容

node.js - 在 Node.js 中检测 CTRL+C