小编Jef*_*man的帖子

如何创建迭代日期范围的 Python Generator 给我 3 天段?

我需要查询 API 以获取多月期间的数据。但是,API 的阻塞时间间隔超过 3 天。

所以我想创建一个生成器函数来将我的多月日期范围分成 3 天段,我可以在重复调用命中 API 的函数时使用这些段:当我传递开始日期和结束日期时,它给了我:

  • 第一次给我开始日期,开始日期+3天
  • 下次给我开始日期 + 3 天,开始日期 + 6 天
  • 此后每次向前移动 3 天
  • 直到它到达结束日期,如果我还有 1 或 2 天的数据要抓取,它会给我剩余的天数来达到结束日期
  • 停止

到目前为止,这是我的代码。它将第一次工作,但我不确定如何在下次调用该函数时使开始日期增加 3 天。而且我也不确定在达到最终结束日期之前我是否还有 1 或 2 天的时间来将我的until变量设置为最终结束日期——我认为现在它只是说“还有不到 3 天的时间,直到最后日期,所以让我们退出”:

3_day_segmenter(start, end):
    start_date = datetime.strptime(start, '%Y-%m-%d')
    end_date = datetime.strptime(end, '%Y-%m-%d')
    since = start_date
    for date in range(int ((end_date - start_date).days)): 
        until = start_date + datetime.timedelta(days=3)     
        yield since, until
Run Code Online (Sandbox Code Playgroud)

python date generator python-2.7

1
推荐指数
1
解决办法
4861
查看次数

连接到多个数据库时,是否需要多个SQLAlchemy元数据,基础或会话对象?

我正在编写一个需要连接到PostgreSQL数据库和MySQL数据库的SQLAlchemy应用程序.基本上我是从现有MySQL数据库加载数据,对其进行一些转换,然后将其保存在PostgreSQL中.

我正在使用SQLAlchemy管理PostgreSQL架构declarative base.MySQL数据库已经存在,我通过SQLAlchemy的反射访问模式.两者都有非常不同的模式.

我知道我需要专门engines为每个数据库,但我不清楚我是否需​​要以下任何一个的专用对象:

  1. Base - 我认为这对应于数据库架构.由于两个数据库都有非常不同的模式,因此我需要专用Base于每个模式.

  2. Metadata - 这是否是一个包含所有引擎的所有模式的单个全局元数据对象?

  3. Sessions - 我不确定,但我认为每个数据库需要单独的会话?或者可以单个session共享多个engine/ Base组合?我正在使用scoped_sessions.

我困惑的一部分来自不理解之间的差异BaseMetadata.在SQLAlchemy的文档说:

MetaData是一个容器对象,它将所描述的数据库(或多个数据库)的许多不同功能保持在一起.

这似乎意味着单个metadata可以容纳多个Base,但我仍然有点模糊它的工作原理.例如,我希望能够metadata.create_all()在PostgreSQL中调用和创建表,而不是MySQL.

python mysql postgresql sqlalchemy

1
推荐指数
1
解决办法
1515
查看次数

PHP类中的simplexml_load_file()问题

所以我正在尝试使用我发现的一个类来修复我的电子商务问题.

原博客文章

在华盛顿州,在线商店需要根据送货地址确定税率.

WA销售税率查询URL界面

类:

/**
 * @author SmallDog
 * @contact dustin@smalldo.gs
 * @created 01-27-2011 
**/

class destinationTax
{
    private $dor_url = 'http://dor.wa.gov';

    function __construct(){ }

    function getTax($addr,$city,$zip)
    {
        $req = $this->dor_url."/AddressRates.aspx?output=xml&addr=$addr&city=$city&zip=$zip";
        return $this->_get_decoded($req);
    }

    private function _get_decoded($url)
    {
        $url = urlencode($url);
        if($xml = simplexml_load_file($url))
        {
            switch($xml->attributes()->code)
            {
                case 0:
                    // Code 0 means address was perfect
                    break;
                case 1:
                    $xml->msg = "Warning: The address was not found, but the ZIP+4 was located.";
                    break;
                case 2:
                    $xml->msg = "Warning: Neither …
Run Code Online (Sandbox Code Playgroud)

php simplexml

0
推荐指数
1
解决办法
4118
查看次数

为什么这个正则表达式匹配,即使它应该失败?

当URL的格式为"msgID"或"msg = ID"时,我想提取消息ID的第一个实例,但是当"msg"和"ID"之间有任何其他字符时,我想提取消息ID的第一个实例

测试应该给我消息ID的字符串:

/forum/index.php/topic,101126.msg3826887.html#msg3826887
/forum/index.php?topic=101126.msg3826887#msg3826887
/forum/index.php?msg=3826887
Run Code Online (Sandbox Code Playgroud)

测试应该失败的字符串:

/forum/index.php?msgrad3826887
/forum/index.php?msg,3826887
Run Code Online (Sandbox Code Playgroud)

这是我的正则表达式:

forum\/index.php.+?msg=?([0-9]*)

但是,当我在RubularRegexr中测试它时,它们显示正则表达式成功匹配所有这些字符串.

应该失败的测试不会为捕获组提供任何结果,但看起来成功匹配.

为什么会这样,我如何修复我的正则表达式?

regex pcre nginx

0
推荐指数
1
解决办法
73
查看次数

标签 统计

python ×2

date ×1

generator ×1

mysql ×1

nginx ×1

pcre ×1

php ×1

postgresql ×1

python-2.7 ×1

regex ×1

simplexml ×1

sqlalchemy ×1