在PyCharm中,如果我打开Python控制台,我就无法终止多行字符串。
以下是IDLE中用于比较的内容:
>>> words = '''one
two
three'''
>>> print(words)
one
two
three
>>>
但是如果我在PyCharm中的交互式Python控制台中尝试相同的事情,控制台在输入最后3个撇号后需要更多输入。谁知道为什么?
>>> words = '''one
... two
... three'''
...
答案 0 :(得分:1)
我不确定上下文是什么,但在很多情况下,从您想要在不同行上打印的内容创建元组/列表并使用"\n"
加入它们会更容易:
>>> words = "\n".join(["one", "two", "three"])
您也可以尝试使用三个双引号符号。也许PyCharm对被分隔的内容感到困惑。我总是在Python中想到这一点,因为字符串可以通过纯粹的并置来连接。如此有效,'' 'one\n\two\nthree' ''
应该采用三个不同的字符串,(1)''
(2)'one\n\two\nthree'
和(3)''
,并将它们连接起来。由于不应该需要它们之间的空间(最不惊讶的原则),因此对我来说更直观的是三重单(或双) - 引用将被解释。但由于三重版本是它自己的特殊角色,它不会那样工作。
在IPython中,您提供的语法没有问题。 IPython还提供了一个很好的魔术命令%cpaste
,您可以在其中粘贴多行表达式或语句,然后用--
分隔最后一行,并在按Enter键时执行粘贴的块。我更喜欢IPython(在Emacs中的缓冲区中运行)到PyCharm,但也许你可以看看是否有类似的魔术函数,或者只是查找该魔术函数的源代码并自己编写一个?