小编Jon*_*nts的帖子

pytesser成功率低?这是一个噪音问题,还是还有其他需要做的事情?

我正试图从屏幕截图中检测出一些大写字符.我用PIL将它转换为黑白,然后使用PyTesser页面中的代码示例,我在图像上运行tesser.exe:

from pytesser import *
image = Image.open('fnord.tif') 
print image_to_string(image)     
Run Code Online (Sandbox Code Playgroud)

我正在使用这个图片: http://i.imgur.com/so419.png

但它并不认为它是E,或者说它真的是什么东西.我认为这是一个足够干净的捕获?顶部的噪音并没有把它扔掉,对吧?

有什么我想念的吗?

python ocr tesseract

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

使用正则表达式(或其他python模块)来比较文本/字符?

假设我的程序收到一个输入,例如一串具有任何类型字符的字符.例如,'Bob's Bagel Shop'.然后它得到另一个字符串,上面写着'Fred's Bagel Store'.如何在python中使用正则表达式或其他模块来比较这些并让我的程序告诉我,如果字符串中的任何字符串中的至少5个(或任何我想要的数字)是相同,但是所有字符在相同的顺序中,比如'Bagel'这个词?

谢谢.

python regex string-matching

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

使用Python3在Pyramid中使用Websocket

有没有办法在Pyramid中使用Python 3中的Websockets.当服务器上有数据更改时,我希望将它用于实时更新表.

我已经考虑过使用长轮询,但我不认为这是最好的方法.

有什么意见或想法吗?

python pylons websocket python-3.x pyramid

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

在dicts列表中合并相同键的值

我是python 2.7的新手,尽管在StackOverflow上进行了大量搜索,但仍无法弄清楚以下内容:

我有一个listdict的I wan't结合起来,当密钥相同,并添加特定值(在本例中'price').

输入:

[{'id1': 'a', 'price': '2', 'color': 'green'}, {'id1': 'b', 'price': '5', 'color': 'red'}, {'id1': 'a', 'price': '2', 'color': 'green'}] 
Run Code Online (Sandbox Code Playgroud)

预期:

[{'id1': 'a', 'price': '4', 'color': 'green'}, {'id1': 'b', 'price': '5', 'color': 'red'}]
Run Code Online (Sandbox Code Playgroud)

python dictionary list python-2.7

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

根据条件在python中添加子列表元素

我有如下列表

a=[['a',1,2,1,3],['b',1,3,4,3],['c',1,3,4,3]]
b=[['b',1,3,4,3],['c',1,3,4,3]]
Run Code Online (Sandbox Code Playgroud)

如果第一个子列表元素与其他列表子列表元素匹配,我想基于索引添加元素

尝试以下:

from operator import add 

res_list1=[]
    for a1 in a:
        for b1 in b:
            if a1[0]==b1[0]:
                res_list = [map(add, a1[1:], b1[1:])]
                res = [[a1[0],i,j,k,l] for i,j,k,l in res_list]
                res_list1.append(res[0])
            else:
                res_list=a1
                res_list1.append(res_list)

    print res_list1
Run Code Online (Sandbox Code Playgroud)

但输出结果如下:

res_list1=[['a', 1, 2, 1, 3], ['a', 1, 2, 1, 3], ['b', 2, 6, 8, 6], ['b', 1, 3, 4, 3], ['c', 1, 3, 4, 3], ['c', 2, 6, 8, 6]]
Run Code Online (Sandbox Code Playgroud)

但正确的输出应为:

res_list1=[['a', 1, 2, 1, 3], ['b', 2, 6, 8, 6], …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

当我为numpy编写自己的C扩展时发生错误

我正在尝试为numpy编写一个C扩展来对大数组进行一些计算,但是当我使用"PyArray_SimpleNew"或"PyArray_FromDims"来获取PyArrayObject时,我遇到了一个大问题.这是我的代码:

#include<stdio.h>
#include "Python.h"
#include"arrayobject.h"

static PyObject *MyExtGFV(PyObject *self, PyObject *args)
{
    npy_intp dims = 1;
    PyArray_SimpleNew(1, &dims, PyArray_FLOAT32);
    retuurn Py_BuildValue("i", 1);
}
static PyMethodDef my_ext_methods[] = 
{
    {"GFV", MyExtGFV, METH_VARARGS, "used to generate feature vectors"},
    {NULL, NULL}
}

PyMODINIT_FUNC initMyExt(void)
{
    Py_InitModule("MyExt", my_ext_methods);
}
Run Code Online (Sandbox Code Playgroud)

为了调试它,我删除了函数MyExtGFV()中的大部分代码,只留下

PyArray_SimpleNew(1, &dims, PyArray_FLOAT32);   
Run Code Online (Sandbox Code Playgroud)

在它,但当我导入它并在我的python代码中使用它时,它说"python已经停止工作".我已经搜索了这个问题很长一段时间,但似乎没有其他人有同样的问题,它几乎让我感到烦恼,任何帮助将不胜感激!

python numpy python-2.7

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

无法在python加载的模板中引用css样式表

我是使用Python的新手,在尝试从.tpl文档引用我的样式表时遇到了一个问题.我的python,template和css文件都在同一个目录中,但是当我使用CMD将页面加载到"localhost:8080"时,它显示的模板没有应用样式.

在我的模板文档index.tpl中,我引用了三个样式表:

<link rel="stylesheet" type="text/css" href="demo.css" />
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="animate-custom.css" />
Run Code Online (Sandbox Code Playgroud)

我的python文件输出模板:index.py:

from bottle import route,template,debug,run
import sqlite3

@route('/')
def player():
    return template('index.tpl')

debug(True)
run(reloader=True)
Run Code Online (Sandbox Code Playgroud)

python bottle

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

Python xlrd 模块

根据 XLRD 模块的文档,

 row_values(rowx, start_colx=0, end_colx=None)
Run Code Online (Sandbox Code Playgroud)

“返回给定行中单元格值的一部分。”

并给出以下python代码:

import xlrd
wb=xlrd.open_workbook("xl1.xlsx")
sh = wb.sheet_by_index(0)
for rownum in range(sh.nrows):
    print sh.row_values(rownum) 
Run Code Online (Sandbox Code Playgroud)

输出是:

 [12.0, u'test.0']
 [34.0, u'te.st']
 [u'test123', u'12.test']
Run Code Online (Sandbox Code Playgroud)

并且 exel 文件包含以下数据:

12.0、test.0、34.0、test、test123、12.test

那么,根据输出,我得到什么类型的数据结构作为一行?它不是元组,(因为在打印元组类型时,没有 u' 作为字符串的前缀), u' 的含义是什么?而且它就像我们在数据结构中有两种类型的数据 - int 和“非 int”。这是真的吗?我在文档中找不到任何关于此的信息。谢谢!

python xlrd

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

分数模块中__new__

我一直在努力理解__new__和元编程.所以我看看官方的python源代码.

http://hg.python.org/cpython/file/2.7/Lib/fractions.py

它们__new__对Fractions 的功能如下:

class Fraction(Rational):

    def __new__(cls, numerator=0, denominator=None):
        """Constructs a Fraction. ...        """

        self = super(Fraction, cls).__new__(cls)
        ...

        if isinstance(numerator, float):
                # Exact conversion from float
                value = Fraction.from_float(numerator)
                self._numerator = value._numerator
                self._denominator = value._denominator
                return self

    @classmethod
    def from_float(cls, f):
        """Converts a finite float to a rational number, exactly. ..."""
        # ...
        return cls(*f.as_integer_ratio())
Run Code Online (Sandbox Code Playgroud)

为什么他们return self,而不是

return Fraction.from_float(numerator)
Run Code Online (Sandbox Code Playgroud)

我以为我明白了,但现在我很困惑.

(编辑)

为了支持子类化,改变它会有什么不同

return cls.from_float(numerator)
Run Code Online (Sandbox Code Playgroud)

python metaprogramming

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

动态窗口上的滚动总和

我是 python 新手,上次编码是在 80 年代中期,所以我感谢您的耐心帮助。

看来 .rolling(window) 要求窗口是固定整数。我需要一个滚动窗口,其中窗口或回溯期是动态的并由另一列给出。

在下表中,我查找 Lookbacksum,它是 Lookback 列指定的数据的滚动总和。

d={'Data':[1,1,1,2,3,2,3,2,1,2],
   'Lookback':[0,1,2,2,1,3,3,2,3,1],
   'LookbackSum':[1,2,3,4,5,8,10,7,8,3]}
df=pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

例如:

   Data  Lookback  LookbackSum
0     1         0            1
1     1         1            2
2     1         2            3
3     2         2            4
4     3         1            5
5     2         3            8
6     3         3           10
7     2         2            7
8     1         3            8
9     2         1            3
Run Code Online (Sandbox Code Playgroud)

python pandas

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