Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过艰苦学习python获得错误练习14_Python - Fatal编程技术网

通过艰苦学习python获得错误练习14

通过艰苦学习python获得错误练习14,python,Python,我正在学习zed shaw的《艰苦地学习python》,并且正在学习练习14。以下是我正在谈论的节目: from sys import argv script, user_name = argv prompt = '> ' print "Hi %s, I'm the %s script." % (user_name, script) print "I'd like to ask you a few questions." print "Do you like me %s?" % use

我正在学习zed shaw的《艰苦地学习python》,并且正在学习练习14。以下是我正在谈论的节目:

from sys import argv

script, user_name = argv
prompt = '> '

print "Hi %s, I'm the %s script." % (user_name, script)
print "I'd like to ask you a few questions."
print "Do you like me %s?" % user_name
likes = raw_input(prompt)

print "Where do you live %s?" % user_name
lives = raw_input(prompt)

print "What kind of computer do you have?"
computer = raw_input(prompt)

print """
Alright, so you said %r about liking me.
You live in %r.  Not sure where that is.
And you have a %r computer.  Nice.
""" % (likes, lives, computer)
现在,我在powershell终端中使用以下命令运行此程序

python e:\python\ex14.py
我得到以下错误消息:

Traceback (most recent call last):
File "e:\python\ex14.py", line 3, in (module)
script, user_name=argv
ValueError: need more than 1 value to unpack.

现在,我不确定问题出在哪里。唯一的原因可能是我键入的是文件路径,而不是仅键入文件名。

此脚本希望在命令行中使用参数。你没有提供


在终端输入
python e:\python\ex14.py yourname here

如果您的目标是学习python,我建议您尝试更传统的教程。您能提供到更传统教程的链接吗?我在这方面是新手,只是遵循了这个网站的一些建议。到目前为止,我喜欢这个教程,但也希望看到一个传统的教程。@agf学习Python的艰难之路不是一个传统的教程吗?哇!成功了!但我无法理解为什么会发生这种情况,或者是程序中的哪一行导致了这种情况。你能解释一下吗?
sys.argv
是一个列表,其中包含从脚本名开始在命令行传递给Python解释器的所有参数
script,user\u name=argv
argv
的第一个元素分配给
script
,第二个元素分配给
user\u name
。当您在没有参数的情况下运行它时,没有第二个元素,因此出现了运行时错误。
user_name=argv
如果您正在学习Python作为第一语言,我建议您提供一个教程,解释
argv
argc
的含义。嗯,我想我明白了。不过,我们还需要进一步了解argv命令。谢谢您的解释。@Nunoxic Python中没有
argc
。不需要它,因为Python列表(与C数组不同)知道自己的长度。