python - 尝试保持发现字典的顺序时发生错误

标签 python syntax-error

我希望字典按发现日期的顺序排列,因此字典按日期排序。我查看了this python site,但是代码无法正常工作,尝试使用此类时出错。任何想法为什么以及如何解决?

page = str('<OPTION VALUE="08/25/2013" >08/25/2013</OPTION><OPTIONVALUE="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, None 
    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 # this will enter we_link function to change to percent signs
    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] ='link' +  endoflinkdate
            page = page[end_date:]
        else:
            break
    return links



work = getalllinks(page)
print work

class OrderedCounter(Counter, OrderedDict):  #THIS DOES NOT WORK CAUSES ERRORS 
    def __repr__(self):
        return '%s(%r)' % (self.__class__.__name__, OrderedDict(self))
    def __reduce__(self):
        return self.__class__, (OrderedDict(self),)
var1 = OrderedCounter(page,links)
print var1 

错误:
 Traceback (most recent call last):
      File "schedule.py", line 43, in <module>
        class OrderedCounter(Counter, OrderedDict):
    NameError: name 'Counter' is not defined

如何不定义其参数?

我希望将其作为{date:link,date:link}的字典,但可以按可变页面中日期的顺序排列。我希望顺序与变量页面中的日期相同,因此2013年8月25日:链接,2013年9月1日:链接,

我想将其保存在字典中,因为我将其粘贴到了javascript网站中,因此我可以输入日期并获取链接,还可以有序地向下滚动菜单。

最佳答案

如果要使用Python库中的内容,则需要先导入该库:

from collections import OrderedDict, Counter

关于python - 尝试保持发现字典的顺序时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343340/

相关文章:

c++ - 通过指针错误访问数组中的数据

python - 无法在 python 中将字母数字转换为字符串

python - 本地客户端上具有远程 API 的 Google 云存储客户端

php - 我测试的每个代码中的(PHP,xampp)语法错误

php - 更新查询抛出错误

ruby-on-rails - 使用to_json给我非法字符

javascript - Google Cloud 上的 Ajax 到 Python

python - 给定日期时间的 DataFrame,绘制每年的用户访问情况

python - 如何从 CGI 脚本发送响应头和状态

javascript - 未捕获的语法错误 : Unexpected token u in JSON at position 0