我在同一行中找出了邮政编码。这是sys.argv [1],在尝试[1]时,我忽略了其他代码,这给了我错误。我现在需要帮助的是让weather.py无需调用整个文件路径即可运行。
我将在前言中表示我对python不是很有经验,并且可能会让某些名称出错或认为某些内容可能有效但显然没有,请耐心等待,我试着用尽可能多的意思来说明这一点。
所以我需要使用命令行运行程序。该程序已完成,并且在PyDev中运行时100%正常运行。该程序称为weather.py,需要在cmd中触发它的是
python weather.py(5位数字拉链)
我无法首先使用'python weather.py'来运行程序。我已将C:\ python27添加到PATH以及C:\ python27 \ python.exe(不确定是否可以执行任何操作)。通过这两个关键字运行.py似乎与我尝试的不一样。我还需要能够在同一行添加一个邮政编码来触发程序。有人告诉我
zipcode = sys.argv [0]
允许将邮政编码自动初始化为变量,但我得到了
IndexError:列表索引超出范围
当我使用
运行程序时python C:\ python27 \ weather.py
我尝试用1或2代替0,因为我不熟悉.argv,但这些都没有。任何帮助使用python weather.py运行程序或让邮政编码输入在同一行上运行的任何帮助都非常感谢。
答案 0 :(得分:4)
确保代码中有import sys
。
import sys
zipCode = sys.argv[1]
并实际提供参数
编辑:
为清楚起见,如果未导入sys,则会获得NameError
而不是IndexError
。此外,当从命令行传递args时,索引实际上从0开始,其中sys.argv[0]
始终是程序名称,并且提供的args从1开始。因此,在这种情况下,邮政编码将位于{{ 1}}
EDIT2:
变量名以避免使用保留字:)