如何自动插入空格以使Python文件中的空行缩进?

tin*_*lyx 1 python indentation

我最近在尝试通过将python代码从PyDev和Emacs复制到python解释器来评估python代码时遇到了常见的"意外缩进"问题.

在尝试修复标签/空格和一些搜索之后,我在这个答案中找到了原因:

将某些内容粘贴到Python解释器(终端/控制台)时也会发生此错误.

请注意,解释器将空行解释为表达式的结尾,因此如果您粘贴类似的内容

def my_function():
    x = 3

    y = 7
Run Code Online (Sandbox Code Playgroud)

解释器将在y = 7之前解释空行作为表达式的结尾...

,在我的情况下就是这种情况.并且对答案提出了一个评论,指出了一个解决方案:

关键是函数定义中的空行很好,但它们仍然必须具有初始空格,因为Python将任何空行解释为函数的结尾

但是解决方案是不切实际的,因为我有很多空行,这对解释器来说是个问题.我的问题是:

是否有方法/工具自动将正确数量的初始空格插入空行,以便我可以将我的代码从编辑器复制并粘贴到解释器?

Mar*_*ers 5

不要费心插入空格.告诉解释器执行一个文本块:

>>> exec(r'''
<paste your code>
''')
Run Code Online (Sandbox Code Playgroud)

该r''' ... '''特里普尔引号字符串保存逃逸和换行符.有时候(尽管根据我的经验,很少)你需要使用r""" ... """,当代码块包含使用单引号的tripple引用的字符串时.

另一种选择是切换到使用IPython来进行粘贴代码的日常测试,该代码使用空行处理粘贴代码.