小编muc*_*out的帖子

在比较中需要考虑varchar中的尾随空格

我正在使用带varchar列的表.我没有意识到在比较中没有考虑尾随空格(显然,两个仅在尾随空格量方面不同的值将违反唯一性属性,如果指定的话).

我需要在表中修复此问题,最好是在适当的位置.是否有推荐的路径在MySQL中修复这样的表?

我正在通过我控制的程序严格访问数据库,因此切换到非人类可读格式(如二进制文件)就可以了.但我不知道如何做这样的事情,不想破坏桌子.

mysql

16
推荐指数
2
解决办法
4493
查看次数

评估压缩图像的质量?

我有用于计算机视觉任务的图像.该任务对图像质量很敏感.我想删除所有低于某个阈值的图像,但我不确定是否有任何方法/启发式方法可以自动检测通过JPEG严重压缩的图像.有人有想法吗?

compression jpeg computer-vision

12
推荐指数
2
解决办法
5062
查看次数

SQLAlchemy内存占用select语句

根据SQLAlchemy,select语句被视为for循环中的iterables.结果是返回大量行的select语句不会使用过多的内存.

我在MySQL表上发现以下语句:

for row in my_connections.execute(MyTable.__table__.select()):
    yield row
Run Code Online (Sandbox Code Playgroud)

似乎没有遵循这一点,因为我溢出可用内存并在第一行产生之前开始颠簸.我究竟做错了什么?

python sqlalchemy

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

Python项目中的一致版本控制

我有一个Python项目,它有Sphinx文档和distutils用于发布到Pip.

这两个功能都需要一个版本(例如,0.4b3)

是否有最佳实践可以在需要版本号的各种实用程序中自动维护一致的版本号?

作为奖励,是否有任何与git集成的东西(例如,通过标签)?

python distutils version project python-sphinx

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

Disco/MapReduce:使用先前迭代的结果作为新迭代的输入

目前正在迪斯科实施PageRank.作为迭代算法,一次迭代的结果用作下一次迭代的输入.

我有一个代表所有链接的大文件,每行代表一个页面,行中的值代表它链接的页面.

对于Disco,我将此文件分成N个块,然后运行MapReduce一轮.结果,我获得了一组(页面,排名)元组.

我想把这个等级提供给下一次迭代.但是,现在我的mapper需要两个输入:图形文件和pageranks.

  1. 我想将图形文件和页面排列"压缩"在一起,这样每行代表一个页面,它的排名,以及它的链接.
  2. 由于这个图形文件被分成N个块,我需要将pagerank向量分成N个并行块,并将pagerank向量的区域压缩到图块中

这似乎比必要的更复杂,并且作为一个非常简单的操作(使用典型的mapreduce算法),似乎我错过了一些可以真正简化方法的Disco.

有什么想法吗?

python mapreduce disco

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

Mixins,多继承,构造函数和数据

我有一节课:

class A(object):
    def __init__(self, *args):
        # impl
Run Code Online (Sandbox Code Playgroud)

也是一个"mixin",基本上是另一个带有一些数据和方法的类:

class Mixin(object):
    def __init__(self):
        self.data = []

    def a_method(self):
        # do something
Run Code Online (Sandbox Code Playgroud)

现在我用mixin创建一个A的子类:

class AWithMixin(A, Mixin):
    pass
Run Code Online (Sandbox Code Playgroud)

我的问题是我想要调用A和Mixin的构造函数.我考虑给AWithMixin一个自己的构造函数,其中调用了super,但是超类的构造函数有不同的参数列表.什么是最佳分辨率?

python multiple-inheritance mixins

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

Jinja在可变内容上嵌套渲染

假设我在变量X中有实际的jinja模板代码.让我们说X的内容是"{{some_other_variable}}".

如何在呈现内容的同时显示X?

例如,这不起作用:

{{ X }}

因为它只是将其渲染为"{{some_other_variable}}"而不是some_other_variable的内容.

我这样做的原因是我有一个网站,其中(可信的)用户可以创建自己可能包含jinja模板代码的帖子.视图页面显示这些帖子,但由于上述问题,直接呈现它们,而不是按照我的意愿替换变量.

python jinja2

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

装饰器从一个方法改变功能状态

[更新]:在下面回答问题

我有一个检查程序,一个目标是装饰器中的逻辑,以了解它正在装饰的功能是一个类方法还是常规功能.这是以一种奇怪的方式失败.下面是在Python 2.6中运行的代码:

def decorate(f):
    print 'decorator thinks function is', f
    return f

class Test(object):
    @decorate
    def test_call(self):
        pass

if __name__ == '__main__':
    Test().test_call()
    print 'main thinks function is', Test().test_call
Run Code Online (Sandbox Code Playgroud)

然后执行:

decorator thinks function is <function test_call at 0x10041cd70>
main thinks function is <bound method Test.test_call of <__main__.Test object at 0x100425a90>>
Run Code Online (Sandbox Code Playgroud)

关于出错的任何线索,以及@decorate是否有可能正确地推断出test_call是一种方法?

[答案]卡尔的答案几乎是完美的.在子类调用的方法上使用装饰器时遇到问题.我调整了他的代码,在超类成员上包含了一个im_func比较:

ismethod = False
for item in inspect.getmro(type(args[0])):
    for x in inspect.getmembers(item):
        if 'im_func' in dir(x[1]):
            ismethod = x[1].im_func == newf
            if ismethod:
                break
    else:
        continue
    break
Run Code Online (Sandbox Code Playgroud)

python decorator inspection

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

操作系统如何处理比内存大的python dict?

我有一个python程序,它会占用大量内存,主要是在dict中.该dict将负责为一组非常大的键分配唯一的整数值.当我使用大型矩阵时,我需要一个也可以从中恢复的密钥到索引的对应关系(即,一旦矩阵计算完成,我需要将值映射回原始密钥).

我相信这个数量最终会超过可用内存.我想知道如何处理交换空间.也许为此目的有一个更好的数据结构.

python memory swap matrix data-structures

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

使用Chromium/WebKit从页面获取DOM

尝试在渲染后访问页面的DOM.我不需要查看页面并计划在没有任何GUI或交互的情况下以编程方式应用此页面.

我对后期渲染感兴趣的原因是我想知道对象出现的位置.一些位置信息在HTML中编码(例如,通过offsetLeft),但很多不是.此外,Javascript可以改变最终的定位.我想要的位置尽可能接近用户看到的位置.

我查看了Chromium代码,并认为有一种方法可以做到这一点,但没有足够的文档来开始.

把它非常简单我很想在这样的伪代码:

DOMRoot *r = new Page("http://stackoverflow.com")->getDom();
Run Code Online (Sandbox Code Playgroud)

关于起点的任何提示?

webkit chromium

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