2013-11-03 91 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中是否存在可以並需要在其中任何一個環境中進行更改的路徑環境?程式。 –