我在扫描这部分中的字符串文字时收到
SyntaxError:
EOL。
system.cpu.workload = LiveProcess(cmd = 'hello’, executable ='hello')
为什么会出现这种情况?
问题是您在
hello
(cmd = 'hello’
) 周围使用了不同类型的引号。左边一个是 ASCII 单引号,另一个是RIGHT SINGLE QUOTATION MARK
。
>>> 'hello’
File "<ipython-input-56-3231cc2cf7bf>", line 1
'hello’
^
SyntaxError: EOL while scanning string literal
>>> 'hello'
'hello'
’
实际上是一个unicode字符:
>>> "’".decode('utf-8')
u'\u2019'
“hello”周围的右引号是错误的 - 它是反引号,而不是普通的引号。
您的代码中似乎有错误的单引号。 Python 中的引号分为三种:
" double quote
' single quote
` backtick
双引号和单引号可以互换使用;如果值包含另一种,请使用一种,以避免使用反斜杠的丑陋转义序列。
然而,反引号更像是一个运算符,并将其包含的值转换为其“字符串表示形式”。
在我看来,好像您在代码中混合了单引号和反引号。
您无法使用 '...' 创建多行字符串。您必须使用 ''' ... ''' 或 """ ... """。