2012-05-29 52 views
1

就我所知,這似乎是完全隨機的。我不知道這是怎麼回事。我在Windows上。python中的隨機語法錯誤?

>>> python ex.py 
    File "<stdin>", line 1 
    python ex.py 
      ^
SyntaxError: invalid syntax 

誰能告訴我是什麼原因造成的?這太奇怪了......順便說一句,python 2.7。無論我是通過PowerShell還是CMD,都會出現同樣的問題。

+4

'>>>'似乎表明你在Python shell中,不是嗎? –

回答

6

你在python解釋器本身的交互式會話中,並且你不能以這種方式調用python。

改爲直接從命令行運行命令。

如果你想從這樣的Python中執行一個文件,你必須使用:

>>> execfile("ex.py") 

順便說一句,在使用execfile的習慣沒有得到 - 而方便的,除非你真的知道你在做什麼,爲什麼,這不被認爲是最好的主意。

詳細說明,根據@Levon的要求,execfile以及execeval會導致腳本運行絕對任意代碼。如果你控制了所有的代碼並且是唯一的用戶,那麼這不是一個真正的問題。但是,由於這種力量如此之大,很容易被他人濫用。因此,如果您分發代碼,並且除了使用execfile之外絕對有其他方式來設計它,請這樣做。

+0

既然你提到使用execfile是一個壞主意,你能詳細說明一下嗎? – Levon

+0

@Levon - 見我編輯的答案。 – Nate

+0

明白了,歡呼聲。我只是試圖按照「瞭解Python艱難路線」中的說明進行操作。猜猜我錯過了一點!目前這只是私人學習的東西,但我會承擔「不要使用execfile,除非沒有辦法」的規則。 – dantdj

3

您正試圖從python中調用python .... 「>>>」是Python解釋器提示符,而不是shell提示符。

+0

謝謝!猜猜我有一個新手時刻,嘿嘿。 – dantdj