我的答案是专门关于复制到标准python shell(仅在linux上测试)的粘贴。
取决于代码来自何处以及它最初是如何格式化的空白可能或可能不重要。特别是关于您的示例代码片段 - 从SO的代码格式部分复制粘贴 - 无关紧要(假设代码被正确缩进为可执行文件)。
的空行,但是,确实会导致在标准Python解释器的麻烦,因为它通常是壳-S去缩进CMD。在你的代码段的情况下,空行前述的disable()函数定义结束/过早退出类的定义,所以当disable()定义线有压痕错误检测:
>>> class bcolors:
... HEADER = '\033[95m'
... OKBLUE = '\033[94m'
... OKGREEN = '\033[92m'
... WARNING = '\033[93m'
... FAIL = '\033[91m'
... ENDC = '\033[0m'
...
>>> def disable(self):
File "", line 1
def disable(self):
^
IndentationError: unexpected indent
>>>
所以,你只需要在那些关注空行。您的代码片段只需要2个多行复制粘贴操作来解决该空行。
我唯一需要的其他东西 - 用于复制粘贴部分已缩进的代码(例如从类内部的函数中) - 一个额外的缩进级别,无需重新执行复制代码的缩进。对于一个通往粘贴片段if 1:线之前和输入(即空行