Python (1) 在cmd中运行.py,在同一行中使用变量运行(2)

Python (1) 在cmd中运行.py,在同一行中使用变量运行(2),python,python-2.7,Python,Python 2.7,我在同一行中算出了邮政编码。它是sys.argv[1],我在尝试[1]时忽略了注释其他代码,这导致了错误。我现在需要的帮助就是让weather.py运行,而不必调用整个文件路径。 我将以我对python不是很有经验,可能会弄错某些名称,或者认为某些显然不起作用的东西可能会起作用作为开场白,请耐心听我说,我试图用这个词来尽可能地解释 所以我需要用命令行运行一个程序。在PyDev中运行时,程序已完成并100%运行。程序名为weather.py,在cmd中需要触发它的是 python weather.

我在同一行中算出了邮政编码。它是sys.argv[1],我在尝试[1]时忽略了注释其他代码,这导致了错误。我现在需要的帮助就是让weather.py运行,而不必调用整个文件路径。

我将以我对python不是很有经验,可能会弄错某些名称,或者认为某些显然不起作用的东西可能会起作用作为开场白,请耐心听我说,我试图用这个词来尽可能地解释

所以我需要用命令行运行一个程序。在PyDev中运行时,程序已完成并100%运行。程序名为weather.py,在cmd中需要触发它的是

python weather.py(5位zip)

我无法让程序只使用“python weather.py”首先运行。我已经将C:\python27添加到PATH以及C:\python27\python.exe(不确定这是否有任何作用)。通过这两个关键字运行.py似乎与我尝试过的方法不兼容。我还需要能够添加一个邮政编码到同一行触发程序。有人告诉我

zipcode=sys.argv[0]

允许邮政编码自动初始化为变量,但是

索引器:列表索引超出范围

当我使用

python C:\python27\weather.py


我尝试用1或2替换0,因为我不熟悉.argv,但这两个都不起作用。非常感谢您为让程序仅使用python weather.py运行或让邮政编码输入在同一行上运行而提供的任何帮助。

请确保在代码中导入sys

import sys
zipCode = sys.argv[1]
并提供一个论点

编辑:

为清楚起见,如果未导入sys,您将得到
namererror
,而不是
索引器。此外,从命令行传入参数时,索引实际上从0开始,其中
sys.argv[0]
始终是程序名,提供的参数从1开始。因此,在本例中,邮政编码将位于
sys.argv[1]

编辑2:


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

确保在代码中导入sys

import sys
zipCode = sys.argv[1]
并提供一个论点

编辑:

为清楚起见,如果未导入sys,您将得到
namererror
,而不是
索引器。此外,从命令行传入参数时,索引实际上从0开始,其中
sys.argv[0]
始终是程序名,提供的参数从1开始。因此,在本例中,邮政编码将位于
sys.argv[1]

编辑2:



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

我已导入sys。缺少导入不会导致错误IndexError@palsch当我在一秒钟前再次阅读我的答案时,我意识到了这一点。但是你已经正确地发现了zip参数是
sys.argv[1]
解决了它。见上文。剩下的就是用python weather.py 12345I导入sys运行它。缺少导入不会导致错误IndexError@palsch当我在一秒钟前再次阅读我的答案时,我意识到了这一点。但是你已经正确地发现了zip参数是
sys.argv[1]
解决了它。见上文。剩下的就是用python weather.py 12345运行它。您能发布一些代码吗?在代码< >代码> ZIPCONDE= sys .ARGV(0)< /代码>之后,请考虑打印一个打印代码。我怀疑这行不是给您错误的代码吗?<代码> sys。ARGV(0)< /代码>永远不要给出一个索引错误,因为sys。ARGV(0)始终是文件名。如果需要其他参数,则必须使用sys.argv[1](或n>=1的任何sys.argv[n],具体取决于参数的数量)。在此之后,请确保确实使用arg调用脚本,使其看起来像
python weather.py 12345
(为了确保起见,您可能会这样做)。最后,您是否编辑了正确的文件?也许你只是在错误的文件中编码,所以如果你改变了什么,错误就不会消失……解决了它。见上文。剩下的就是用python weather.py 12345运行它了。程序要求的一部分是使用正确的参数调用,或者当参数为空或不是5位时能够处理错误,这两种方法都有效。您如何尝试从命令行运行它?您是否与脚本位于同一目录中?你不应该在C:\python27\目录下有脚本。你能发布一些代码吗?在代码< >代码> ZIPCONDE= sys .ARGV(0)< /代码>之后,请考虑打印一个打印代码。我怀疑这行不是给您错误的代码吗?<代码> sys。ARGV(0)< /代码>永远不要给出一个索引错误,因为sys。ARGV(0)始终是文件名。如果需要其他参数,则必须使用sys.argv[1](或n>=1的任何sys.argv[n],具体取决于参数的数量)。在此之后,请确保确实使用arg调用脚本,使其看起来像
python weather.py 12345
(为了确保起见,您可能会这样做)。最后,您是否编辑了正确的文件?也许你只是在错误的文件中编码,所以如果你改变了什么,错误就不会消失……解决了它。见上文。剩下的就是用python weather.py 12345运行它了。程序要求的一部分是使用正确的参数调用,或者当参数为空或不是5位时能够处理错误,这两种方法都有效。您如何尝试从命令行运行它?您是否与脚本位于同一目录中?您不应该在C:\python27\目录中有脚本。