2016-06-16 42 views
0

Python解釋器提供了語法錯誤運行下面的代碼時:語法錯誤(sys.argv中)

import sys 

if len(sys.argv) == 3: 
    a=sys.argv[1] 
    b=sys.argv[2] 
    sum=int(a) + int(b) 
    print "The sum is: ", sum 
elif len(sys.argv) != 3: 
    print "Only two arguments allowed !" 
else: 
    print "Please enter two numbers as argument with the script. Try again !" 

錯誤:

[email protected]:~/python$ ./sumtwo.py 5 10 
./sumtwo.py: line 3: syntax error near unexpected token `sys.argv' 
./sumtwo.py: line 3: `if len(sys.argv) == 3:' 
+3

您的文件由您的shell解釋,而不是Python解釋器。嘗試使用'python sumtwo.py'或者添加'#!python'作爲文件的第一個文件。 –

+1

Rogalski明白了。這也有點切線,但是你的'if'和'elif'子句涵蓋了每一種可能性 - len(sys.argv)必須是== 3或!= 3,否則將不會被觸發。 –

回答

2

你的文件是由你的shell,而不是Python解釋器解釋。嘗試指定二進制運行時:

[email protected]:~/python$ python sumtwo.py 5 10 

或者,您可以添加shebang作爲腳本的第一道防線。

#!/usr/bin/python 
import sys 

if len(sys.argv) == 3: 
    a=sys.argv[1] 
    b=sys.argv[2] 
    sum=int(a) + int(b) 
    print "The sum is: ", sum 
elif len(sys.argv) != 3: 
    print "Only two arguments allowed !" 
else: 
    print "Please enter two numbers as argument with the script. Try again !"