小编Fra*_*ova的帖子

CREATE SCHEMA如果不是EXISTS引发重复键错误

为了给出一些上下文,命令在任务内部发出,许多任务可能同时从多个worker发出相同的命令.

每个任务都尝试创建一个postgres架构.我经常收到以下错误:

IntegrityError: (IntegrityError) duplicate key value violates unique constraint "pg_namespace_nspname_index"
DETAIL:  Key (nspname)=(9621584361) already exists.
 'CREATE SCHEMA IF NOT EXISTS "9621584361"'
Run Code Online (Sandbox Code Playgroud)

Postgres版本是PostgreSQL 9.4rc1.
这是Postgres的一个错误吗?

postgresql concurrency ddl catalog

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

将关键字参数传递给类方法装饰器

我有一个类有一个output()方法,它返回一个matplotlib图实例.我有一个我写的装饰器,它接受了fig实例并将其转换为Django响应对象.

我的装饰师看起来像这样:

class plot_svg(object):
    def __init__(self, view):
        self.view = view

    def __call__(self, *args, **kwargs):
        print args, kwargs
        fig = self.view(*args, **kwargs)
        canvas=FigureCanvas(fig)
        response=HttpResponse(content_type='image/svg+xml')
        canvas.print_svg(response)
        return response
Run Code Online (Sandbox Code Playgroud)

这就是它的使用方式:

def as_avg(self):
    return plot_svg(self.output)()
Run Code Online (Sandbox Code Playgroud)

我这样做而不是使用"@"语法的唯一原因是因为当我使用"@"时:

@plot_svg
def as_svg(self):
    return self.output()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

as_svg() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)

我试图通过将其置于"@"语法来"修复"这个问题,但我无法弄清楚如何让它工作.我认为它与self未被传递的地方有关...

python decorator

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

芹菜结果后端.DisabledBackend对象没有属性_get_task_meta_for

我配置了芹菜和后端:

cleryapp = Celery(
    'tasks_app', brocker='amqp://guest@localhost//',
    backend='db+postgresql://guest@localhost:5432'
)
Run Code Online (Sandbox Code Playgroud)

当我启动工作人员时,"结果"显示为禁用,但我在这里读到另一个问题,那不是问题.

数据库正确地获取所有数据,但是

result = AsyncResult(task_id)
Run Code Online (Sandbox Code Playgroud)

加薪

AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'
Run Code Online (Sandbox Code Playgroud)

python celery

6
推荐指数
2
解决办法
6658
查看次数

.writerow()csv返回一个数字而不是写行

我正在使用Python 3测试一些非常简单的代码.出于某种原因,下面的代码生成一个空输出,而不是写一行

import csv

output = open('hello world.csv', 'w',newline='')
wr = csv.writer(output, quoting=csv.QUOTE_ALL)

wr.writerow('hello world')
Run Code Online (Sandbox Code Playgroud)

如果我在解释器中尝试命令,则 .writerow()返回一个数字.以下示例是文档页面中使用的示例:

>> import csv
>>> spamWriter = csv.writer(open('eggs.csv', 'w', newline=''), delimiter=' ',
... quotechar='|', quoting=csv.QUOTE_MINIMAL)
>>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
40
>>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
37
Run Code Online (Sandbox Code Playgroud)

python csv python-3.x

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

python 2.x中商标符号的长度

为什么是

>>> len('™')
>>> 3
Run Code Online (Sandbox Code Playgroud)

在python 2.x?

如何快速修复它被视为一个字符(如Python 3.x?)

encoding python-2.7

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

writerow()或writerows()循环

我有以下代码:

import csv
input_file = csv.reader(open('template.csv','r+')) #template.csv has 10 lines
output = open('output.csv', 'wb')
wr = csv.writer(output, quoting=csv.QUOTE_ALL)

elem = [1,2,3,4,5]

for i in elem:
    wr.writerows(input_file)
Run Code Online (Sandbox Code Playgroud)

由于文件'template.csv'有10行,我期望输出10 x 5行 - 但只出现10行.

如何嵌套writerow/rows循环?

python csv loops

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

使用Flask-Admin根据用户权限预过滤可读数据

我正在使用flask-admin为我的数据库创建一个简单的后端.我只想根据用户拥有的权限,根据预过滤显示表的部分内容.例如,如果表具有公司的所有销售额,我只想在"foo"访问后端时显示销售人员'foo'的销售额

python flask flask-admin

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