当前位置: 首页>>代码示例>>Python>>正文


Python ConfigParser.keys方法代码示例

本文整理汇总了Python中ConfigParser.ConfigParser.keys方法的典型用法代码示例。如果您正苦于以下问题:Python ConfigParser.keys方法的具体用法?Python ConfigParser.keys怎么用?Python ConfigParser.keys使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ConfigParser.ConfigParser的用法示例。


在下文中一共展示了ConfigParser.keys方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from ConfigParser import ConfigParser [as 别名]
# 或者: from ConfigParser.ConfigParser import keys [as 别名]
def main():
    # Parse config file
    config = ConfigParser()
    config.read('config.ini')
    assert config.has_section('thameslink')

    config = dict(config.items('thameslink'))
    required_config = {'report_url', 'content_attrs', 'table_attrs'}
    assert required_config.issubset(set(config.keys()))

    report_url = config['report_url']
    content_attrs = literal_eval(config['content_attrs'])
    table_attrs = literal_eval(config['table_attrs'])

    # Get page
    page = urllib2.urlopen(report_url)

    # Extract relevant content
    strainer = SoupStrainer(attrs=content_attrs)
    content = BeautifulSoup(page, parse_only=strainer)

    # Determine date of report
    days = '|'.join(calendar.day_name)
    months = '|'.join(calendar.month_name[1:])  # Element 0 is empty
    date_pattern = re.compile(
        DATE_STRING_PATTERN % {'days': days, 'months': months}, re.U)
    date_string = content.find(text=date_pattern).replace(u'\xa0', ' ')
    report_date = datetime.strptime(date_string, DATE_FORMAT).date()

    # Parse data
    data = {}
    route = None
    for tr in content \
            .find('table', attrs=table_attrs) \
            .find('tbody') \
            .find_all('tr'):
        for i, td in enumerate(tr.find_all('td')):
            if i == 0:
                route = str(td.string)
                data[route] = {}
            else:
                assert re.match(PERCENTAGE_PATTERN, td.string)
                percentage = float(td.string.replace(r'%', ''))
                if i == 1:
                    data[route]['PPM'] = percentage
                elif i == 2:
                    data[route]['Right Time'] = percentage
                else:
                    raise Exception("Unexpected data: %s" % td.string)
    pretty_data = json.dumps(data, sort_keys=True, indent=4)
    print pretty_data
    file_name = FILENAME_FORMAT % report_date.strftime(FILENAME_DATE_FORMAT)
    with open(file_name, 'w') as file_:
        file_.write(pretty_data)
开发者ID:allanlewis,项目名称:thameslink-daily-performance-scraper,代码行数:56,代码来源:scrape.py


注:本文中的ConfigParser.ConfigParser.keys方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。