通过艰苦学习python获得错误练习14
我正在学习zed shaw的《艰苦地学习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
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数组不同)知道自己的长度。