我正试图从屏幕截图中检测出一些大写字符.我用PIL将它转换为黑白,然后使用PyTesser页面中的代码示例,我在图像上运行tesser.exe:
from pytesser import *
image = Image.open('fnord.tif')
print image_to_string(image)
Run Code Online (Sandbox Code Playgroud)
我正在使用这个图片: 
但它并不认为它是E,或者说它真的是什么东西.我认为这是一个足够干净的捕获?顶部的噪音并没有把它扔掉,对吧?
有什么我想念的吗?
假设我的程序收到一个输入,例如一串具有任何类型字符的字符.例如,'Bob's Bagel Shop'.然后它得到另一个字符串,上面写着'Fred's Bagel Store'.如何在python中使用正则表达式或其他模块来比较这些并让我的程序告诉我,如果字符串中的任何字符串中的至少5个(或任何我想要的数字)是相同的,但是所有字符都在相同的顺序中,比如'Bagel'这个词?
谢谢.
有没有办法在Pyramid中使用Python 3中的Websockets.当服务器上有数据更改时,我希望将它用于实时更新表.
我已经考虑过使用长轮询,但我不认为这是最好的方法.
有什么意见或想法吗?
我是python 2.7的新手,尽管在StackOverflow上进行了大量搜索,但仍无法弄清楚以下内容:
我有一个list的dict的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) 我有如下列表
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) 我正在尝试为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的新手,在尝试从.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) 根据 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”。这是真的吗?我在文档中找不到任何关于此的信息。谢谢!
我一直在努力理解__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 新手,上次编码是在 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 ×10
python-2.7 ×3
bottle ×1
dictionary ×1
list ×1
numpy ×1
ocr ×1
pandas ×1
pylons ×1
pyramid ×1
python-3.x ×1
regex ×1
tesseract ×1
websocket ×1
xlrd ×1