2013-11-03 31 views
0
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 

Imported NumPy 1.7.1, SciPy 0.12.0, Matplotlib 1.3.0 + guidata 1.6.1, guiqwt 2.3.1 
Type "scientific" for more details. 
>>> runfile('C:/Program Files (x86)/Firaxis Games/Sid Meier's Pirates!/ModMan/MM.py', wdir=r'C:/Program Files (x86)/Firaxis Games/Sid Meier's Pirates!/ModMan') 
    File "<stdin>", line 1 
    runfile('C:/Program Files (x86)/Firaxis Games/Sid Meier's Pirates!/ModMan/MM.py', wdir=r'C:/Program Files (x86)/Firaxis Games/Sid Meier's Pirates!/ModMan') 
                  ^
SyntaxError: invalid syntax 
>>> 

运行Windows 7 x64 /,WinPython 275,Spyder 2.7。这是使用spyder GUI运行的。当python文件夹中的(MM.py)副本运行时,它可以工作。顺便说一句,这是点,我不打字什么。Python脚本中的语法无效

+0

这是一个丑陋的目录名:'Sid Meier's Pirates!'。 – 2013-11-03 18:39:52

+0

@LutzHorn有什么问题?一个干净的程序可以处理这个。 – glglgl

+0

是的,一个干净的程序。但显然不是OP正在使用的工具。 – 2013-11-03 18:47:36

回答

3

使用"代替'

​​

Stack Overflow是不错,足以彰显您的无效语法你。

如果某个工具(spyder GUI)执行这个无效的代码,去找一个更好的工具。

+0

我没有打过任何东西。我没有引用任何内容。这是spyder GUI响应winpython runfile的输出。它不能在Spyder或命令行中运行。 –

+0

请不要大喊。 – 2013-11-04 19:09:13

+0

我安装了spyder和WinPython作为一个完整的包。显然出了问题,或者配置不好。从python下载2.7.5.3 64位软件包,然后下载PyScripter。生活再次美好。 –

1

要真正解释问题:字符串可以在双引号"和单引号'中加上引号。只要字符串以相同的符号开始和结束,它就没有区别使用这两个字符。所以"Hello"'Hello'是相同的字符串。

只要引号字符第二次出现,字符串就会结束。所以在你的情况下,'Sid Meier's Pirates',字符串已经在Meier之后结束,使其余部分不是字符串,而是解释器试图解释的正常Python代码(通常会失败)。

因此,要使用字符串本身内的引号字符,您将需要escape引号。因此对于单引号字符串,您可以使用\'和双引号字符串\"

所以在你的情况下,你可以写'Sid Meier\'s Pirates'它将是一个有效的字符串。

另一种选择是将引号字符切换为双引号。这样,您不必在字符串内(但引用双引号字符)转义单引号字符:"Sid Meier's Pirates"

+0

请看上面的评论。没有理由显示MM。py代码,因为它永远不会启动。它无法在spyder和命令行上运行。但是放在Python安装文件夹(C:\ WinPython-64bit-2.7.5.3)中的脚本完全相同! –

+0

好吧,我不知道你在做什么。我所能从你的Python会话中看到的问题是,你显然试图以文件名作为参数运行'runFile';而那个文件名 - 字符串 - 没有被正确引用。当然,如果你使用路径'C:\ WinPython-64bit-2.7.5.3',它可以工作,因为路径中没有引号,所以错误不会发生在那里。 – poke

+0

“你显然”暗示我输入了我没有的引用字符串。指向并用鼠标点击。这是Windows 7不是DOS。这个每个角色的每个角色都由Spyder IDE打印。我假设pyhton和spyder中有一些需要检查或更改的引擎盖设置。我对两个程序都不熟悉,不知道这是什么。 IE中是否存在可以并需要在其中任何一个环境中进行更改的路径环境?程式。 –