Python REPL粘贴代码时自动添加左侧多余空格的解决方法
Python REPL粘贴代码时自动添加左侧多余空格的解决方法
这种粘贴后缩进乱掉的情况确实挺闹心的,我之前也遇到过类似问题,给你几个实用的解决办法:
使用REPL的粘贴模式
这是最直接的解决方式。Python REPL自带专门的粘贴模式,能避免自动添加不必要的缩进:- 在REPL提示符
>>>后输入paste并回车,会看到提示信息Pasting code; enter '--' alone on the line to stop or use Ctrl+D. - 直接粘贴你的代码,这时候代码的缩进会和你在Notepad里写的完全一致
- 粘贴完成后,按
Ctrl+D(Windows系统可以按Ctrl+Z再回车,或者单独输入一行--后回车)退出粘贴模式,代码就会正常执行了
- 在REPL提示符
通过文件执行代码
如果你经常需要运行这段代码,不如把它保存成一个.py文件(比如命名为revenue_check.py),然后在REPL里用下面的命令执行:exec(open('revenue_check.py').read())这样完全不会有缩进问题,而且适合处理更长的代码段。
手动调整(应急方案)
要是偶尔粘贴小段代码,也可以粘贴完后手动删除else:前面多余的空格,但这种方式比较麻烦,不推荐作为常规操作。
为什么会出现这个问题?
其实是REPL的自动缩进机制在“帮倒忙”:当你输入if语句并回车后,REPL会自动缩进下一行,方便你写块内代码。但粘贴代码时,REPL误以为你还在if块的缩进层级里,所以给else:也自动加了缩进,导致语法错误。
备注:内容来源于stack exchange,提问作者user27744573
相关产品推荐
相关产品推荐

