小编blz*_*blz的帖子

是否有PDF文件指定其编码的字段?

我知道仅通过查看数据就无法确定任何字符串形式数据的字符编码.这不是我的问题.

我的问题是:PDF文件中是否有一个字段,按照惯例,指定了编码方案(例如:UTF-8)?这与<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">HTML中大致类似.

非常感谢,Blz

pdf unicode utf

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

如何使用GORM检查CRUD操作中的错误?

GORM 的官方文档演示了一种可以测试记录是否存在的方法,即:

user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}

// returns true if record hasn’t been saved (primary key `Id` is blank)
db.NewRecord(user) // => true

db.Create(&user)

// will return false after `user` created
db.NewRecord(user) // => false
Run Code Online (Sandbox Code Playgroud)

这可用于间接测试记录创建中的错误,但在发生故障时不报告任何有用信息.

检查了源代码后db.Create,似乎有某种堆栈帧检查在继续之前检查错误,这意味着事务错误将无提示失败:

func Create(scope *Scope) {
    defer scope.Trace(NowFunc())

    if !scope.HasError() {
        // actually perform the transaction
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 这是一个错误,还是我错过了什么?
  • 我怎么能/应该被告知交易失败?
  • 我在哪里可以获得有用的调试信息?

go go-gorm

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

如何在scikit-learn下绘制拟合高斯混合模型的概率密度函数?

我正在努力完成一项相当简单的任务.我有一个浮点矢量,我想用两个高斯核来拟合高斯混合模型:

from sklearn.mixture import GMM

gmm = GMM(n_components=2)
gmm.fit(values)  # values is numpy vector of floats
Run Code Online (Sandbox Code Playgroud)

我现在想绘制我创建的混合模型的概率密度函数,但我似乎无法找到有关如何执行此操作的任何文档.我该怎么办?

编辑:

是我拟合的数据向量.以下是我如何做事的更详细的例子:

from sklearn.mixture import GMM
from matplotlib.pyplot import *
import numpy as np

try:
    import cPickle as pickle
except:
    import pickle

with open('/path/to/kde.pickle') as f:  # open the data file provided above
    kde = pickle.load(f)

gmm = GMM(n_components=2)
gmm.fit(kde)

x = np.linspace(np.min(kde), np.max(kde), len(kde))

# Plot the data to which the GMM is being fitted
figure()
plot(x, kde, color='blue')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

# My …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scikit-learn

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

如何使mock.mock_open引发IOError?

我需要测试一个调用的实例方法open.在第一个测试用例中,我设置mock.mock_open为返回一个字符串,如预期的那样.这非常有效.

但是,我还需要测试IOError从该函数抛出a 的情况.如何mock.mock_open引发任意异常?

到目前为止这是我的方法:

@mock.patch.object(somemodule, 'generateDefaultKey')
def test_load_privatekey(self, genkey)
    mo = mock.mock_open(read_data=self.key)
    mo.side_effect = IOError
    with mock.patch('__main__.open', mo, create=True):
        self.controller.loadPrivkey()

    self.assertTrue(genkey.called, 'Key failed to regenerate')
Run Code Online (Sandbox Code Playgroud)

python unit-testing mocking

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

使用PDFMiner解析没有/ Root对象的PDF

我正在尝试使用PDFMiner python绑定从大量PDF中提取文本.我写的模块适用于许多PDF,但是对于一部分PDF,我得到了一些有些神秘的错误:

ipython堆栈跟踪:

/usr/lib/python2.7/dist-packages/pdfminer/pdfparser.pyc in set_parser(self, parser)
    331                 break
    332         else:
--> 333             raise PDFSyntaxError('No /Root object! - Is this really a PDF?')
    334         if self.catalog.get('Type') is not LITERAL_CATALOG:
    335             if STRICT:

PDFSyntaxError: No /Root object! - Is this really a PDF?
Run Code Online (Sandbox Code Playgroud)

当然,我立即检查这些PDF是否已损坏,但它们可以被正确读取.

尽管没有根对象,有没有办法阅读这些PDF?我不太确定从哪里开始.

非常感谢!

编辑:

我尝试使用PyPDF试图获得一些差异诊断.堆栈跟踪如下:

In [50]: pdf = pyPdf.PdfFileReader(file(fail, "rb"))
---------------------------------------------------------------------------
PdfReadError                              Traceback (most recent call last)
/home/louist/Desktop/pdfs/indir/<ipython-input-50-b7171105c81f> in <module>()
----> 1 pdf = pyPdf.PdfFileReader(file(fail, "rb"))

/usr/lib/pymodules/python2.7/pyPdf/pdf.pyc in __init__(self, stream)
    372         self.flattenedPages = None
    373         self.resolvedObjects = …
Run Code Online (Sandbox Code Playgroud)

python pdf-parsing pypdf pdf-manipulation

11
推荐指数
2
解决办法
8922
查看次数

有哪些工具可以将ipython笔记本导出为PDF文件?

我有一个格式很好的ipython笔记本,配有markdown单元格和诸如此类的东西.我想知道在导出到PDF文件方面我的选择是什么.

到目前为止,我一直在File > Print View使用chrome的"保存到文件"功能将结果页面打印为PDF.这在技术上有效,但它有一个主要的不便之处:我的数字,代码和降价单元通常被分页符分开.

有没有其他的解决方案可以让我有一个连续的PDF文件?

编辑: 我遇到了nbconvert,但当我不断收到"找不到文件"错误.有人跟nbconvert有什么运气吗?该文档声称支持导出为PDF,但是当我运行时nbconvert.py -f pdf,错误消息表明实际上并不支持PDF格式.

ipython-notebook

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

如何将这个(100,100)numpy数组转换为pygame中的灰度精灵?

我正在尝试制作一种称为Gabor补丁的特殊光栅,其中的一个示例可以在本教程的底部找到,其代码我移植到python.

使用matplotlib的imshow函数,我获得了以下补丁.用matplotlib的imshow显示python生成的Gabor补丁

虽然着色不同,但我怀疑这与matplotlib如何显示数值有关.在本质上,这图像是2D,100逐100像素阵列从含有值-1.01.0(含).如果有人想尝试操纵有问题的数组,我在这里将它保存为pickle对象.

我的问题如下:如何在确保满足以下条件的同时将此数组传输到pygame表面?

  1. 着色转换为灰度着色(cf:第一个链接中的最后一个图像)
  2. 解决方案必须使用pygame版本1.9.1release.出于某种莫名其妙的原因,我找不到1.9.2在我的操作系统上安装的方法(Ubuntu 13.04).在PIP上似乎没有PPA和pygame显然没有.

非常感谢您提前,如果我能提供更多信息,请告诉我!

编辑

关于@ Veedrac的解决方案(与我自己非常相似),这是我在matplotlib中使用灰度色彩图时的补丁imshow.这就是我想要的:

from matplotlib.pyplot import *
import matplotlib.cm as cm

figure()
imshow(g, cm=cm.Greys_r)
show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python pygame numpy

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

如何对线性混合效应模型进行似然比检验?

Statsmodels的线性混合效果模型的文档声称

Statsmodels LME框架目前支持通过Wald检验的后估计推断和系数,轮廓似然分析,似然比检验和AIC的置信区间.[强调补充]

我已经注意到了这个MixedLM.loglike方法,但我似乎无法找到运行似然比检验的函数/方法.

有人可以指出我正确的方向吗?

python statsmodels

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

空格从PDF提取和奇怪的单词解释中消失了

使用下面的代码片段中,我试图从提取文本数据这个 PDF文件.

import pyPdf

def get_text(path):
    # Load PDF into pyPDF
    pdf = pyPdf.PdfFileReader(file(path, "rb"))
    # Iterate pages
    content = ""
    for i in range(0, pdf.getNumPages()):
        content += pdf.getPage(i).extractText() + "\n"  # Extract text from page and add to content
    # Collapse whitespace
    content = " ".join(content.replace(u"\xa0", " ").strip().split())
    return content
Run Code Online (Sandbox Code Playgroud)

然而,我获得输出在大多数单词之间没有空格.这使得难以对文本执行自然语言处理(我的最终目标,这里).

此外,"手指"一词中的"fi"一直被解释为其他内容.这是相当有问题的,因为这篇论文是关于自发的手指运动......

有人知道为什么会这样吗?我甚至不知道从哪里开始!

python pdf unicode pypdf

9
推荐指数
4
解决办法
8100
查看次数

如何使用正则表达式在python字符串中找到str.format的所有占位符?

我正在创建一个使用用户指定的格式重命名文件的类.这种格式将是一个简单的字符串,其str.format方法将被调用以填充空白.

事实证明,我的程序将需要提取大括号中包含的变量名称.例如,字符串可能包含{user},应该产生user.当然,单个字符串中会有几组大括号,我需要按照它们出现的顺序获取每个大括号的内容并将它们输出到列表中.

因此,"{foo}{bar}"应该屈服['foo', 'bar'].

我怀疑最简单的方法是使用re.split,但我对正则表达式一无所知.有人可以帮我吗?

提前致谢!

python regex

9
推荐指数
2
解决办法
2977
查看次数