Python错误: need more than two values to unpack.请帮助我

标签 python error-code

我遇到了这两个错误:

 File "schedule.py", line 40, in <module>
    work = getalllinks(page)
  File "schedule.py", line 30, in getalllinks
    str_date,end_date,endoflinkdate = search_13(page)
ValueError: need more than 2 values to unpack

(我的代码获取此 html 中的链接,并将链接放入网站和字典中的日期)

page = str('<OPTION VALUE="08/25/2013" >08/25/2013</OPTION><OPTION VALUE="09/01/2013">09/01/2013</OPTION><OPTION VALUE="09/08/2013" >09/08/2013</OPTION><OPTION VALUE="09/15/2013" >09/15/2013</OPTION><OPTION VALUE="09/22/2013" >09/22/2013</OPTION><OPTION VALUE="09/29/2013" >09/29/2013</OPTION><OPTION VALUE="10/06/2013" >10/06/2013</OPTION><OPTION VALUE="10/13/2013" >10/13/2013</OPTION><OPTION VALUE="10/20/2013">10/20/2013</OPTION><OPTIONVALUE="10/27/2013">10/27/2013</OPTION><OPTION VALUE="11/03/2013" >11/03/2013</OPTION><OPTION VALUE="11/10/2013" >11/10/2013</OPTION><OPTION VALUE="11/17/2013" >11/17/2013</OPTION><OPTION VALUE="11/24/2013" >11/24/2013</OPTION><OPTION VALUE="12/01/2013" >12/01/2013</OPTION><OPTION VALUE="12/08/2013" >12/08/2013</OPTION><OPTION VALUE="12/15/2013" >12/15/2013</OPTION>OPTION VALUE="12/22/2013" >12/22/2013</OPTION><OPTION VALUE="12/29/2013" >12/29/2013</OPTION><OPTION VALUE="01/05/2014" >01/05/2014</OPTION><OPTION VALUE="01/12/2014" >01/12/2014</OPTION><OPTION VALUE="01/19/2014" >01/19/2014</OPTION><OPTION VALUE="01/26/2014" >01/26/2014</OPTION><OPTION VALUE="02/02/2014" >02/02/2014</OPTION><OPTION VALUE="02/09/2014" >02/09/2014</OPTION><OPTION VALUE="02/16/2014" >02/16/2014</OPTION><OPTION VALUE="02/23/2014" >02/23/2014</OPTION><OPTION VALUE="03/02/2014" >03/02/2014</OPTION><OPTION VALUE="03/09/2014" >03/09/2014</OPTION><OPTION VALUE="03/16/2014" >03/16/2014</OPTION><OPTION VALUE="03/23/2014" >03/23/2014</OPTION><OPTION VALUE="03/30/2014" >03/30/2014</OPTION><OPTION VALUE="04/06/2014" >04/06/2014</OPTION><OPTION VALUE="04/13/2014" >04/13/2014</OPTION><OPTION VALUE="04/20/2014" >04/20/2014</OPTION><OPTION VALUE="04/27/2014" >04/27/2014</OPTION><OPTION VALUE="05/04/2014" >05/04/2014</OPTION><OPTION VALUE="05/11/2014" >05/11/2014</OPTION><OPTION VALUE="05/18/2014" >05/18/2014</OPTION><OPTION VALUE="05/25/2014" >05/25/2014</OPTION><OPTION VALUE="06/01/2014" >06/01/2014</OPTION><OPTION VALUE="06/08/2014" >06/08/2014</OPTION><OPTION VALUE="06/15/2014" >06/15/2014</OPTION>')


def web_link (enter_web_link):
#11%2F10%2F2013
    enter_web_link =  enter_web_link.replace("/","%") #00%00%0000
    add_twoF = enter_web_link[:3]+"2F"+ enter_web_link[3:]  #00%2F00%0000
    add_twoF_everywhere = add_twoF[:8] +"2F"+add_twoF[8:]
    add_twoF_everywhere = str(add_twoF_everywhere)
    return  add_twoF_everywhere

def search_13(page):
    starter = '<OPTION VALUE="' # find the postion where this starts
    start_link = page.find(starter)
    starter = len(starter)
    if start_link == -1:
        return None, 0 
    start_link = start_link + starter
    end_date = start_link + 10
    datetext  = page[start_link: end_date]
    str_date = str(datetext) #this is hte actuall normal looking date dd/mm/yyyy
    enter_web_link = str_date 
    endoflinkdate = web_link(enter_web_link)
    return str_date , end_date,  endoflinkdate


def getalllinks(page):
    links = {}  
    while True:
        str_date,end_date,endoflinkdate = search_13(page)
        if str_date:
            links[str_date] ='dont want you to have this link' +  endoflinkdate
            page = page[end_date:]
        else:
            break
    return links



work = getalllinks(page)
print work

我查看了其他帖子并尝试了他们所说的内容,但是 1. 它并不真正适用 2. 它们不起作用

关于为什么我会收到这些错误以及如何修复它们有什么想法吗? 谢谢。

最佳答案

您希望收到三个返回值,但在 if start_link == -1 中您只返回两个值;因此,如果您再返回一个值,例如 NONE 或 0。那么它就会收到第三个参数。

if start_link == -1:
 return None, 0, None

关于Python错误: need more than two values to unpack.请帮助我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20257720/

相关文章:

ruby-on-rails - 如何在rails中为api定义自定义错误代码

c++ - 使用 edsdk 加载 cr2 时出错

ios - 解析服务器 : Handling errors with code 209 "Session token is expired." for automatic (anonymous) users

linux - Bash - if 语句中的错误代码不起作用

c# - 进程无法访问文件 'XYZ' 的错误代码,因为它正被另一个进程使用

python - multiprocessing 返回 "too many open files"但使用 `with...as` 修复它。为什么?

python - 循环字符串列表并执行任务(Python 练习简介第 2 章)

python - 拟合训练数据后获取值错误 'The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()'

python - networkX node_connected_component 未针对定向类型实现

python - BeautifulSoup:查找第 n 次出现的元素