(1)在cmd中运行.py和在同一行

时间:2016-05-11 17:31:34

标签: python python-2.7

我在同一行中找出了邮政编码。这是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运行程序或让邮政编码输入在同一行上运行的任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:4)

确保代码中有import sys

import sys
zipCode = sys.argv[1]

并实际提供参数

编辑:

为清楚起见,如果未导入sys,则会获得NameError而不是IndexError。此外,当从命令行传递args时,索引实际上从0开始,其中sys.argv[0]始终是程序名称,并且提供的args从1开始。因此,在这种情况下,邮政编码将位于{{ 1}}

EDIT2:

变量名以避免使用保留字:)