SyntaxError:扫描字符串文字时的EOL - 为什么我的引号被忽略?

时间:2017-03-20 22:45:49

标签: python python-2.7 syntax

我正在努力遵循'如何以艰难的方式学习Python',并在很早的阶段遇到问题。当我尝试运行我的第一个程序'hello world'时,我收到语法错误。

错误讯息:

File "ex1.py", line 1

print "Hello World!
                   ^
SyntaxError: EOL while scanning string literal 

代码写在我的文本文件中:

print "Hello World!"
print "Hello Again"

我已将文件保存为.py。我已经重写了大约五次代码。我甚至复制并粘贴了作者代码,我仍然得到同样的错误。从错误信息来看,似乎我没有在“世界!”之后加上引号。但是,那里有一个引文。

我还注意到错误是打印第一个引号 - 就在你好的H之前。我认为这些问题必须相关。不知怎的,我认为解析器忽略了我的引号。

4 个答案:

答案 0 :(得分:0)

您错过了结尾双qoutes print "Hello World!"

更新: 它工作正常。 保存在原子中。每行打印“不是一行”。 例如:没有qoutes将它保存到“test.py”。 并运行python test.py

print "Hello World!" 
print "Hello Again" 
print "I like typing this." 
print "This is fun." 
print 'Yay! Printing.' 
print "I'd much rather you 'not'." 
print 'I "said" do not touch this.'

在print语句之前没有空格。

答案 1 :(得分:0)

检查结束引号字符是否真的是一个ascii引号字符"。检查感叹号真的是一个ascii感叹号。删除整行并根据需要重新键入。您可以使用特殊的unicode字符而不是ASCII字符。

然而,当我尝试这个时:

print "dddddd”

我明白了:

$ python abc
  File "abc", line 1
SyntaxError: Non-ASCII character '\xe2' in file abc on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

如果我声明了UTF-8字符集(你没有表明你做过的话):

-*- coding: utf-8 -*-
print "dddddd”

然后我得到了类似的错误(尽管有点不同):

  File "abc", line 2
    print "dddddd”
                   ^
SyntaxError: EOL while scanning string literal

答案 2 :(得分:0)

您是否尝试过使用括号' print'声明?像这样:

print('Hello')

BR

答案 3 :(得分:0)

我不知道是什么修复了它,但我最终通过终端删除了文件和主机文件夹" rm -R",重新启动我的电脑,并创建一个新的文件夹来工作来自原子。然后,我按照相同的方式执行相同的步骤,然后运行。谢谢你的耐心等待。如果你仍然坚持这一点,只需尝试删除所涉及的一切并重新启动计算机。