好的,我已经搜索了这个已经有一段时间,但还是无法解决这个问题。我确信这个问题在于input()。
networkPath = input("Drop Path: ")
print("test") # <- will never get here
SyntaxError:行继续符后面的意外字符
此外,如果用户将其输入放在引号中,则不会发生此错误。 如下所示:syntaxerror: unexpected character after line continuation character in python
我不希望用户必须将其输入包装在引号中。原因是他们将放置长网络路径,例如:\ oursite.com \ someplace \ global \ Communications \ News \ Sitemap
现在我知道你在想,“他们为什么不能用引号括起来?”原因是他们将从生成的电子邮件中复制并粘贴该网络路径。
提前致谢!
编辑:我应该注意,这在Windows命令行中失败而在pyscripter
中失败答案 0 :(得分:3)
这里的根本问题几乎可以肯定你是在学习Python 3,但是尝试使用Python 2.7解释器来完成它。不要那样做。转到download Python 3.3或更高版本并使用它。
但如果您真的故意尝试使用Python 2.7,请继续阅读:
你是对的。正如the documentation所说,我确信这个问题在于input()。
input
是:
相当于
eval(raw_input(prompt))
。
换句话说,无论用户输入的内容是什么,都会传递给eval
。这意味着它被评估为Python代码。而且,除非用户碰巧键入了有效的Python代码(如引号中的字符串),否则您将获得SyntaxError
。
此处的解决方案很简单:请勿使用input
,请使用raw_input
。
(请注意,Python 3的input
与Python 2的raw_input
相同,并且它与Python 2的input
没有任何等价。这就是我相信你的原因使用错误的Python版本。)
答案 1 :(得分:1)
不要使用input();使用raw_input()。 Input()在读入文本上调用eval(),这个文本既不需要也不需要,并且负责此错误。