Python脚本中关于str的错误(sys.argv [1])

时间:2016-04-15 12:19:22

标签: php python arguments parameter-passing

import MySQLdb as mdb
import math
import sys 
from decimal import Decimal

conn=mdb.connect('localhost','root','','testdb')
c=conn.cursor()

user_id=str(sys.argv[1])
lati=str(sys.argv[2])
longi=str(sys.argv[3])
radius=int(str(sys.argv[4]))

#user_id=1
#lati='28.635308'
#longi='77.224960'
#radius=1.5

错误是:

Traceback (most recent call last):
  File "C:\Python27\recommend.py", line 9, in <module>
    user_id=str(sys.argv[1])
IndexError: list index out of range

然而,由#评论的虚拟值正常工作。有任何解决此错误的帮助吗?

1 个答案:

答案 0 :(得分:2)

检查错误的一种方法是打印 sys.argv 列表并检查它所包含的元素数量。错误的输出是说 sys.argv 中只有一个元素(很可能是脚本本身 - 脚本名称 - )。很可能当你运行脚本时,你不提供参数(你必须提供4个参数)。