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
>>> 运行Windows7x64/,WinPython 275,Spyder2.7。这是使用spyder运行的。当运行python文件夹中的(MM.py)副本时,它可以工作。顺便说一下,这是点,点击我什么都不打字。
发布于 2013-11-03 18:36:01
使用"而不是'
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")堆栈溢出足以突出显示您的无效语法。
如果某个工具(spyder )执行这个无效的代码,就去找一个更好的工具。
发布于 2013-11-03 18:55:16
要真正解释这个问题:字符串可以在双引号"和单引号'中引用。只要字符串以相同的符号开头和结尾,您使用的这两个字符串中的哪一个没有区别。因此,"Hello"是与'Hello'相同的字符串。
一旦第二次出现引号字符,字符串就会结束。因此,在您的例子'Sid Meier's Pirates'中,字符串已经在Meier之后结束了,其馀部分不是字符串,而是解释器试图解释的普通Python代码(这通常会失败)。
因此,要在字符串本身中使用引号,需要对引号进行转义。因此,对于单引号字符串,可以使用\'和双引号字符串\"。
因此,在您的情况下,您可以编写'Sid Meier\'s Pirates',它将是一个有效的字符串。
另一种选择是将引号字符转换为双引号。这样,您就不必转义字符串中的单引号(但是是双引号):"Sid Meier's Pirates"。
https://stackoverflow.com/questions/19756460
复制相似问题