小编Chr*_*est的帖子

Python Groupby语句

我想尝试将以下详细信息列表分组:

details = [('20130325','B'), ('20130320','A'), ('20130325','B'), ('20130320','A')]

>>for k,v in itertools.groupby(details,key=operator.itemgetter(0)):
>>  print k,list(v)
Run Code Online (Sandbox Code Playgroud)

这是上面groupby语句的输出:

20130325 [('20130325', 'B')]

20130320 [('20130320', 'A')]

20130325 [('20130325', 'B')]

20130320 [('20130320', 'A')]
Run Code Online (Sandbox Code Playgroud)

但我的预期输出是:

20130325 [('20130325', 'B'),('20130325', 'B')]

20130320 [('20130320', 'A'),('20130320', 'A')]
Run Code Online (Sandbox Code Playgroud)

我在某处做错了吗?

python python-itertools

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

element.py 中的 SQLAlchemy 错误 - ColumnClause 或 Comparator 都有“描述”

完整的错误是:

AttributeError: Neither 'ColumnClause' object nor 'Comparator' object
has an attribute 'description' 
Run Code Online (Sandbox Code Playgroud)

发生在 __ repr __ 中的 sqlalchemy\sql\elements.py 中的第 544 行

在 __ getattr__ 中的 sqlalchemy\sql\elements.py 中的第 735 行

我最初发现了这个问题,因为我的烧瓶模板(它遍历 ormobject.__ dict__以将数据输出到表中)没有显示特定的行。

深入python控制台并导入模块后,我通过尝试打印对象的属性来产生此错误。

from app.models import Parcel
o = Parcel.query.get(1)
o.parcelid #string field prints the correct value, no problem
o.yrbuilt #integer field, same, no problem
o.streetnum #string field, throws above error
Run Code Online (Sandbox Code Playgroud)

我的模型(db 变量是SQLAlchemy(app)):

class Parcel(db.Model):
    """
    the county parcel data
    """
    __tablename__ = 'parcel'
    __table_args__ = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask-sqlalchemy

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

文件名中的MS-DOS时间戳

我在批处理文件中具有以下内容。

set timefmt=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%

dir *.* > logfile_%timefmt%.log
Run Code Online (Sandbox Code Playgroud)

这项工作在上午10点之后可以正常使用,但在事前失败,因为它为时间戳添加了一个空格而不是前导0。

在MS-DOS中是否可以使用前导0创建时间戳?我宁愿使用相当标准的命令,以便从Windows XP开始使用。

windows dos

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

为 django 项目创建自定义 SessionStore

如果我想对一个模块进行子类化,以便django.contrib.sessions.backends.db.SessionStore我可以覆盖它的许多默认行为,那么在 Django 中执行此操作的标准方法是什么?

假设我创建一个名为mydb.py

from django.contrib.sessions.backends.db import SessionStore as DBSessionStore

class SessionStore(DBSessionStore):
    ...
Run Code Online (Sandbox Code Playgroud)

如果我的项目具有以下结构,那么最好的做法是将其放在项目文件夹下的目录mydb.py中吗?backends

myproject
myproject/manage.py
myproject/myproject
myproject/myproject/wsgi.py
myproject/myproject/__init__.py
myproject/myproject/settings.py
myproject/myproject/urls.py
myproject/db.sqlite3
myproject/myapp
myproject/myapp/tests.py
myproject/myapp/admin.py
myproject/myapp/__init__.py
myproject/myapp/models.py
myproject/myapp/apps.py
myproject/myapp/migrations
myproject/myapp/migrations/__init__.py
myproject/myapp/views.py
myproject/myapp/urls.py
myproject/backends
myproject/backends/__init__.py
myproject/backends/mydb.py
myproject/__init__.py
Run Code Online (Sandbox Code Playgroud)

settings.SESSION_ENGINE='backends.db'避免命名空间冲突的合理标准是吗?当前项目包含在python搜索路径中是djamgo配置的一般规则吗?

python django

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

SQLAlchemy 中带有子句的递归 CTE

我正在尝试在 SQLAlchemy 中实现一个 CTE,它从父/子树中的给定节点返回一个根节点。

我能够按照递归 CTE 查询中的示例在 SQLAlchemy 中生成 CTE 递归。

但我不确定如何在其上附加附加条件。即:

WITH ...
SELECT parent_id from parents
WHERE parent_id NOT IN (SELECT child_id FROM node_parent_relation );
Run Code Online (Sandbox Code Playgroud)

我想这样做,以便我只返回根节点。

查询在 SQL 中工作。

WITH RECURSIVE parents( child_id, parent_id ) 
AS (
  -- get leaf children
  SELECT child_id, parent_id
  FROM node_parent_relation
  WHERE child_id = '4415b581-0a31-43e8-a69d-d74caeccacd2'

  UNION ALL

  -- get all parents  
  SELECT t.child_id, t.parent_id
  FROM parents p
  JOIN node_parent_relation t
  ON p.parent_id = t.child_id
)
SELECT parent_id from parents
WHERE parent_id …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy common-table-expression

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

如何在 python django 中使用会话变量作为表单字段的默认值?

在forms.py中,

class UpdateForm(forms.Form):
   n1 = request.session['name']
   name = forms.CharField(widget=forms.TextInput(attrs={
           'style':'margin-bottom:10px; width:600px; height:50px ;align:right',
           'required':'',
           'value':n1,
           'placeholder':'Name of Institute',
           'class':'form-control'}), label=(""))
Run Code Online (Sandbox Code Playgroud)

它显示返回“请求”未定义的错误。

python django

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

具有不确定大小的元组的 C++ typedef

我正在使用一些从四元元组创建集合的 C++ 代码。

我想概括代码,以便可以将任何量级的元组添加到集合中。

有没有办法为不确定数量的元素的元组创建 typedef?

为了与我所从事的项目兼容,我希望通过C++11功能实现这一点。如果可能的话,我希望保留 typedef,以便它与编程的其余部分保持一致。

我查看了很多关于可变参数函数和模板的信息,但我仍然不确定如何继续。

#include <set>
#include <functional>
#include <iostream>



typedef std::set<std::tuple<int, int, int, int>> QuaternarySet;
typedef std::tuple<int, int, int, int> QuaternaryTuple;

int main () {

    QuaternaryTuple x = std::make_tuple(1, 2, 3, 4);
    QuaternaryTuple y = std::make_tuple(5, 6, 7, 8);
    QuaternaryTuple z = std::make_tuple(1, 2, 3, 4);

    QuaternarySet s;

    s.insert(x);
    s.insert(y);
    s.insert(z);

    std::cout << s.size() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我正在寻找一些允许我定义类似内容的代码,但我不确定用什么来替换省略号。

typedef std::set<std::tuple<int ...>> IndefiniteSet;
typedef std::tuple<int ...> IndefiniteTuple;
Run Code Online (Sandbox Code Playgroud)

也就是说,我需要一个单一类型的运行时可变大小容器,int.

c++ c++11

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