2012-04-25 124 views
3

我想學習python,但運行源代碼文件時出現了一些問題。當我輸入「python」時,它會打開,我可以直接在shell中鍵入python命令。我認爲這被稱爲交互模式。但是,當我嘗試運行/執行源文件時,我收到一條錯誤消息:它sayys:語法錯誤:語法無效。從PowerShell運行python源文件

我嘗試執行腳本時使用'python myfile.py'。

如果我從IDLE運行相同的文件,它工作得很好。安娜想法我做錯了什麼?

這裏是myfile.py。我正在運行python 2.7

# filename: myfile.py 

while True: 
     s = raw_input('Enter something: ') 
     if s == 'Quit': 
      break 
     print 'Lenght of the string is', len(s) 
print 'Done' 
+0

你能告訴我們'myfile.py',以及你使用的是什麼版本的Python? – birryree 2012-04-25 19:02:11

+0

您可以在命令行中直接以myfile.py的形式運行Python腳本。 – Fenikso 2012-04-25 19:03:51

+0

現在我已經添加了myfile.py的代碼 – user1009453 2012-04-25 19:11:13

回答

2

您將需要在命令行中放置Python可執行文件的完整路徑才能使其工作。您可以檢查並確保您的python exe包含在您的系統變量中的Path中。

1

聲明:我不知道PowerShell,但我確實知道cmd.exe。

我不知道爲什麼python myfile.py不起作用,但假設PowerShell與cmd.exe至少有一些相似之處,下面的內容應該可以工作:myfile.py。沒錯,只需輸入Python腳本的名稱並按回車。

3

您可能安裝了多個版本的Python,並且IDLE使用的版本較新。要查看你有什麼版本的python,你可以在命令行輸入>python -V。如果該版本看起來合適,則可能需要文件的完整路徑作爲第二個參數。例如,>python C:\myfile.py

如果您正確安裝了Python,那麼只需鍵入腳本名稱就可以運行python。例如。 >myfile.py

我總是發現添加C:\Python27%PATH%變量和.PY%PATHEXT%變量使得運行腳本更容易。在這種情況下,只需>myfile應該工作。更新後

編輯:

打字只是>python不帶參數將打開「互動模式」,這是從你的腳本是用於批處理或腳本模式不同的蟒蛇。如果使用參數執行,則將第一個參數作爲文件路徑,並將其他參數傳遞給sys.argv列表中的腳本。

+0

如果這些工作都不起作用,那麼在Python文件中實際上會有一個語法錯誤。 – Will 2012-04-25 19:09:49

+0

下面是我用來設置路徑:[環境] :: SetEnvironmentVariable(「路徑」,「$ env:路徑; C:\ Python27」,「用戶」) 這看起來好嗎? – user1009453 2012-04-25 19:30:30

0

如果您是在powershell中輸入「python」開始的,則需要跳過該腳本。

如果你在Python類型:

quit() 然後輸入是否正確安裝你的Python python myfile.py

這應該工作。

0

嘗試在PowerShell中鍵入:

$env:path="$env:Path;C:\Python33 

在此之後,命令

python yourfile.py 

應該工作。

0

這聽起來很愚蠢,特別是來自初學者。

只需將文件保存在桌面上即可。打開PowerShell並將文件直接拖到PowerShell中並打開。有點乏味,但它的作品