小编eri*_*kcw的帖子

使用lxml.etree.iterparse解析损坏的XML

我试图以一种内存有效的方式解析一个带有lxml的巨大xml文件(即从磁盘懒洋洋地流式传输,而不是将整个文件加载到内存中).不幸的是,该文件包含一些破坏默认解析器的坏ascii字符.如果我设置recover = True,则解析器可以工作,但是iterparse方法不会使用recover参数或自定义解析器对象.有谁知道如何使用iterparse来解析破碎的xml?

#this works, but loads the whole file into memory
parser = lxml.etree.XMLParser(recover=True) #recovers from bad characters.
tree = lxml.etree.parse(filename, parser)

#how do I do the equivalent with iterparse?  (using iterparse so the file can be streamed lazily from disk)
context = lxml.etree.iterparse(filename, tag='RECORD')
#record contains 6 elements that I need to extract the text from
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

编辑 - 以下是我遇到的编码错误类型的示例:

In [17]: data
Out[17]: '\t<articletext>&lt;p&gt;The cafeteria rang with excited voices.  Our barbershop quartet, The Bell \r Tones was …
Run Code Online (Sandbox Code Playgroud)

python xml lxml sax

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

模拟Django存储模型ImageField后端S3

我有一个带有由django-storages的S3Boto支持的ImageField的模型.我测试了练习"上传图片"视图,但是它将图像上传到S3的事实正在减慢我的测试套件.

为了加速我的测试,处理这个问题的最佳做法是什么?我应该嘲笑S3Boto吗?也许有一个内存支持的存储后端适用于测试(自动清理会很好!)?

django unit-testing mocking

15
推荐指数
2
解决办法
2454
查看次数

使用非AMD兼容的javascript模块与require.js?

我正在使用require.js来帮助组织我的Backbone.js应用程序.

我正在试图找出使用与require.js不兼容的第三方javascript库的正确方法

问题中的库是backbone-tastypie.js.基本上,库所做的是monkeypatch Backbone的一些原型方法,以便为TastyPie Django REST框架提供更简单的支持.它通过直接操作全局命名空间中的Backbone对象来实现.

但是,由于我使用Backbone.js作为require.js模块,因此当该库尝试访问它时它不可用.

如何在Backbone范围内导入此主干 - tastypie?

javascript requirejs backbone.js tastypie

14
推荐指数
2
解决办法
9447
查看次数

PIP安装没有setup.py文件的Python包?

我试图找出如何安装没有pipsetup.py文件的python包.(有问题的包是http://code.google.com/p/django-google-analytics/)

通常我会将repo和符号链接中的代码签出到我的站点包中,但我试图将整个环境冻结成一个pip需求文件,以便于部署和测试.

有任何想法吗?

python pip setuptools easy-install

13
推荐指数
2
解决办法
7611
查看次数

不同长度矢量的余弦相似度?

我正在尝试使用TF-IDF将文档分类.我已经为某些文档计算了tf_idf,但是现在当我尝试计算其中两个文档之间的余弦相似度时,我得到一个追溯说:

#len(u)==201, len(v)==246

cosine_distance(u, v)
ValueError: objects are not aligned

#this works though:
cosine_distance(u[:200], v[:200])
>> 0.52230249969265641
Run Code Online (Sandbox Code Playgroud)

切片向量使len(u)== len(v)正确的方法?我认为余弦相似性适用于不同长度的矢量.

我正在使用这个功能:

def cosine_distance(u, v):
    """
    Returns the cosine of the angle between vectors v and u. This is equal to
    u.v / |u||v|.
    """
    return numpy.dot(u, v) / (math.sqrt(numpy.dot(u, u)) * math.sqrt(numpy.dot(v, v))) 
Run Code Online (Sandbox Code Playgroud)

另外 - 向量中tf_idf值的顺序是否重要?它们应该被分类 - 或者对于这个计算是否不重要?

python nlp similarity nltk tf-idf

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

Clojure相当于Python的lxml库?

我正在寻找与Python的lxml库等效的Clojure/Java.

我过去用它来解析各种各样的html(作为BeautifulSoup的替代品),能够为xml使用相同的elementtree api非常棒 - 真的是值得信赖的朋友!任何人都可以推荐类似的Java/Clojure库吗?

关于lxml

lxml是一个基于libxml2的xml和html处理库.它可以很好地处理损坏的html页面,因此非常适合屏幕抓取任务.它还实现了ElementTree api,因此xml/html结构表示为一个树对象,完全支持xpath和css选择器等.

它还有一些非常方便的实用功能,例如"清洁"模块,它将从"汤"(即脚本标签,样式标签等)中去除不需要的标签.

所以它使用简单,功能强大,速度非常快......!

python java lxml clojure

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

使用lein管理log4j.properties

我试图找出如何用leiningen管理我的log4j.properties文件.我希望能够自动将文件包含在lein创建的jar中,并且可以使用"lein swank"(和lein repl)访问属性文件.

现在我的项目"root"中有文件,但是当我使用swank登录时出现此错误

[null] log4j:WARN No appenders could be found for logger (com.dev).
[null] log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)

谢谢!

注意:我从http://www.paullegato.com/blog/log4j-clojure/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+clojure+(Planet+Clojure0) 我的博客文章中获取了我的log4j.properties文件.从Clojure中配置我的日志输出格式的内容(实际上是激动的),但我还没有找到办法.

clojure leiningen

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

从iOS到Android的点对点视频?

我开始为iOS和Android开发/原型化Peer-to-Peer视频聊天应用程序.我正在尝试为FaceTime或Tango创建类似的体验 - 即高质量的视频,可以在互联网/ 3G上工作(不仅仅是在同一个局域网上).

我刚刚开始研究阶段.我做了一堆谷歌搜索,但没有找到太多(因为这对我来说是一个新的领域,我可能看错了地方).

你能否指出我应该遇到的任何陷阱?我应该使用哪些协议(从我所做的阅读看起来人们使用SIP或XMPP,这些是最好的选择吗?).我会像这样做跨平台通信时遇到问题吗?

我应该探索的任何其他资源.我的大部分经验是开发Web应用程序和后端服务器端的东西.所以这对我来说是一次新的尝试,但我期待着心灵的延伸.

谢谢!

video android p2p video-streaming ios

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

简单查询工作多年,然后突然很慢

我的查询已经运行了大约2年.数据库表有大约5000万行,并且增长缓慢.上周我的一个问题是从几乎立即返回到需要几个小时才能运行.

Rank.objects.filter(site=Site.objects.get(profile__client=client, profile__is_active=False)).latest('id')
Run Code Online (Sandbox Code Playgroud)

我将慢查询缩小到Rank模型.它似乎与使用latest()方法有关.如果我只是要求查询集,它会立即返回一个空的查询集.

#count returns 0 and is fast
Rank.objects.filter(site=Site.objects.get(profile__client=client, profile__is_active=False)).count() == 0
Rank.objects.filter(site=Site.objects.get(profile__client=client, profile__is_active=False)) == [] #also very fast
Run Code Online (Sandbox Code Playgroud)

以下是运行EXPLAIN的结果.http://explain.depesz.com/s/wPh

和EXPLAIN ANALYZE:http://explain.depesz.com/s/ggi

我试着把桌子抽真空,没有变化."站点"字段(ForeignKey)上已有索引.

奇怪的是,如果我为已经有与她的帐户关联的Rank对象的另一个客户端运行相同的查询,那么查询将再次快速返回.因此,当它们没有该客户端的Rank对象时,这似乎只是一个问题.

有任何想法吗?

版本:Postgres 9.1,Django 1.4 svn trunk rev 17047

django postgresql django-models

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

使用不带JSX的react-router

我正在尝试通过javascript API找到使用react-router的示例,但到目前为止无法找到任何内容.

我的目标是使用react-router与试剂和clojurescript.因此,如果有人已经开始工作(即使使用Om),我也会欣赏正确的方向.否则,只有一个没有JSX的直接javascript示例会有所帮助.

编辑1 - 更接近解决方案

感谢@FakeRainBrigand帮助将JSX转换为普通的JS.

这是React.js 0.11.2版本(这是当前版本的Reagent使用的版本 - 0.4.3).

/** @jsx React.DOM */
Routes({location: "history"},
       Route({name: "app", path: "/", handler: App},
             Route({name: "inbox", handler: Inbox}),
             Route({name: "calendar", handler: "{Calendar}"})))
Run Code Online (Sandbox Code Playgroud)

提示:您可以使用JSXTransformer.js您的React版本执行JSX-> JS转换.只需将其包含在您的页面中,然后使用浏览器的开发者控制台即可执行JSXTransformer.transform('/** @jsx React.DOM */<Route location="history">...</Route>').code

这是Clojurescript版本:

(ns mytest.core
  (:require [reagent.core :as reagent :refer [atom]])

(defn home []
  [:div [:h1 "Home Component Placeholder"]])

(defn info []
  [:div [:h1 "Info Component Placeholder"]])

(defn build-component [comp]
  (reagent/as-component (if (fn? comp) (comp) comp)))

(defn react-router []
  (js/ReactRouter.Routes #js {:location …
Run Code Online (Sandbox Code Playgroud)

clojurescript reactjs react-router reagent

7
推荐指数
2
解决办法
3226
查看次数