小编Mar*_*ark的帖子

lxml etree xmlparser删除不需要的命名空间

我有一个xml doc,我试图使用Etree.lxml解析

<Envelope xmlns="http://www.example.com/zzz/yyy">
  <Header>
    <Version>1</Version>
  </Header>
  <Body>
    some stuff
  <Body>
<Envelope>
Run Code Online (Sandbox Code Playgroud)

我的代码是:

path = "path to xml file"
from lxml import etree as ET
parser = ET.XMLParser(ns_clean=True)
dom = ET.parse(path, parser)
dom.getroot()
Run Code Online (Sandbox Code Playgroud)

当我尝试获取dom.getroot()时,我得到:

<Element {http://www.example.com/zzz/yyy}Envelope at 28adacac>
Run Code Online (Sandbox Code Playgroud)

但是我只想要:

<Element Envelope at 28adacac>
Run Code Online (Sandbox Code Playgroud)

当我做

dom.getroot().find("Body")
Run Code Online (Sandbox Code Playgroud)

我没有得到任何回报.但是,当我

dom.getroot().find("{http://www.example.com/zzz/yyy}Body") 
Run Code Online (Sandbox Code Playgroud)

我得到了一个结果.

我认为将ns_clean = True传递给解析器会阻止这种情况.

有任何想法吗?

python lxml elementtree xml-parsing

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

使用自定义表单的Django内联表单集

我正在使用内联formset.

我的模特:

class Author(models.Model):
    description = models.CharField(max_length=100)

class Book(models.Model):
    author = models.ForeignKey(Author)
    details = models.CharField(max_length=100)

class AuthorForm(ModelForm):
    class Meta:
        widgets = {
            'description': Textarea(attrs={'cols': 40, 'rows': 4}),
        }
Run Code Online (Sandbox Code Playgroud)

在我的views.py中,我从AuthorForm中创建了这样的表单

form = AuthorForm(request.POST)
Run Code Online (Sandbox Code Playgroud)

但我也为书籍制作了一套表格

InlineFormSet = inlineformset_factory(Author, Books)
Run Code Online (Sandbox Code Playgroud)

我无法使用小部件传递BooksForm,因此如何在书籍详细信息中添加textarea小部件.

它甚至可能吗?我错过了一些明显的东西吗

django django-forms

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

使用Solr索引PDF

任何人都可以指点我的教程.

我对Solr的主要经验是索引CSV文件.但我找不到任何简单的说明/教程来告诉我我需要做什么来索引pdfs.

我见过这个:http://wiki.apache.org/solr/ExtractingRequestHandler

但这对我来说毫无意义.我需要安装Tika吗?

我输了 - 请帮忙

solr full-text-search solrj solr-cell apache-tika

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

如何为大量数据测试相同的断言

我使用python unittest模块做了一些测试; 但是,这是非常重复的.

我有很多数据要反复运行相同的测试,检查是否正确.但是,我必须为每个人定义一个测试.

例如,我想做类似的事情.我知道我可以使用生成器(在此处的先前线程中找到它).但是有没有替代品,甚至可能使用不同的测试模块?

任何建议都会很棒.


import unittest

class TestData(unittest.TestCase):
    def testNumbers(self):
        numbers = [0,11,222,33,44,555,6,77,8,9999]
        for i in numbers:
            self.assertEqual(i, 33)
Run Code Online (Sandbox Code Playgroud)

python unit-testing python-unittest

12
推荐指数
4
解决办法
4413
查看次数

在SQL中查找重复项

我有一个大表,其中包含有关用户的以下数据.

social security number
name
address
Run Code Online (Sandbox Code Playgroud)

我想找到表中所有可能的重复项,其中ssn相等,但名称不是

我的尝试是:

SELECT * FROM Table t1
WHERE (SELECT count(*) from Table t2 where t1.name <> t2.name) > 1
Run Code Online (Sandbox Code Playgroud)

sql t-sql

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

Solr Facetting - 显示前10个结果和其他

我正在Solr中实现一个解决方案,我的方面有很多价值.

与在页面一侧显示一长串值(facet)相反,我希望显示前10位.还有一个用于其他值.

例如,我将面对国籍.

所以,我不想列出每个国籍的名单,也不想要"看全部"按钮.

我需要的是十大国籍,然后是"其他".

当用户点击其他用户时,它会面对吗?

search solr facet

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

Django Generic View - 访问请求

我正在使用django通用视图,如何在我的模板中访问请求.

网址:

file_objects = {
    'queryset' : File.objects.filter(is_good=True),
}
urlpatterns = patterns('',
    (r'^files/', 'django.views.generic.list_detail.object_list', dict(file_objects, template_name='files.html')),
)
Run Code Online (Sandbox Code Playgroud)

django django-generic-views

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

Az 索引 Django

我正在寻找有关使用 A - Z 索引设计网页的建议。

就像 :

http://www.bls.gov/bls/topicsaz.htm 我有一长串带有标题的对象,我想按字母顺序显示,很简单!

但是我想把 AZ 和锚点放在一起,我在模板中做这个,

我必须遍历模板中的所有对象,将 currentletter 存储为全局对象。然后检查每个对象是否以当前字母等开头。

这不好,有没有更简单的方法让我失踪。

也许我应该在 python 代码中做到这一点?

python django

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

如何使用bash和sed操作文件名?

我试图遍历目录中的所有文件.

我想在每个文件上做一些事情(将其转换为xml,不包括在示例中),然后将文件写入新的目录结构.

for file in `find /home/devel/stuff/static/ -iname "*.pdf"`;
do
  echo $file;
  sed -e 's/static/changethis/' $file > newfile +".xml";
  echo $newfile;
done
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

$ file => /home/devel/stuff/static/2002/hello.txt

$ newfile => /home/devel/stuff/changethis/2002/hello.txt.xml

我该如何改变我的sed线?

bash shell sed

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

Redis Track Hits

我的网站上有一个简单的每日点击计数器,我想使用Redis作为数据存储区.

仅仅因为redis有一个过期,我不必设置一个cron来清除数据.另外我想尝试一下.

我以URL为基础存储每日点击量.

如何存储网址的每日点击量,然后让它们在一天结束时到期.

例如:

incr today:www.google.com           >> 1
incr today:www.google.com           >> 2
incr today:www.google.com           >> 3
incr today:www.yahoo.com            >> 1
incr today:www.yahoo.com            >> 2

我如何让这些柜台在一天结束时到期?如果我过期,它会重置计数器.

我觉得我的思维过程已经过去了.我倒退了吗?

redis

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