小编Ram*_*hum的帖子

Python:使用`lxml.html`将HTML内容注入标记

我正在使用该lxml.html库来解析HTML文档.

我所在的特定的标签,我打电话content_tag了,我想改变它的内容(即之间的文本<div></div>,)和新的内容与它的一些HTML字符串,说这是'Hello <b>world!</b>'.

我怎么做?我试过content_tag.text = 'Hello <b>world!</b>'但它然后它逃脱了所有的html标签,取而代之<&lt;等等.

我想注入文本而不转义任何HTML.我怎样才能做到这一点?

html python parsing lxml

12
推荐指数
1
解决办法
3890
查看次数

在Python程序中嵌入Python shell

我正在使用Python构建一个科学实验室,用户可以在其中创建,修改和分析各种对象.我想在程序中放置一个Python shell,因此用户可以通过shell操作对象.(注意:他也可以通过常用的GUI操作对象.)

一个模型说明了这一点:http: //cool-rr.com/physicsthing/physicsthing_mockup_thumb.gif

我怎么能做这种事呢?

我考虑过使用eval,但我明白eval无法处理import,例如.

python shell

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

`setup.py sdist`如何工作?

我正在尝试用我的项目进行源代码分发setup.py sdist.我已经有了setup.py可以安装的功能.但是当我这样做时sdist,我得到的只是my_projectmy_project文件夹中的另一个文件夹,MANIFEST我不感兴趣的文件,以及包含两个文本文件的zip文件,而不是我的项目.

我究竟做错了什么?文档在sdist哪里?

更新:

这是我的setup.py:

#!/usr/bin/env python

import os
from distutils.core import setup
import distutils
from general_misc import package_finder

try:
    distutils.dir_util.remove_tree('build', verbose=True)
except:
    pass

my_long_description = \
'''\
GarlicSim is a platform for writing, running and analyzing simulations. It can
handle any kind of simulation: Physics, game theory, epidemic spread,
electronics, etc.
'''

my_packages = package_finder.get_packages('', include_self=True,
                                          recursive=True)

setup(
    name='GarlicSim',
    version='0.1',
    description='A Pythonic framework …
Run Code Online (Sandbox Code Playgroud)

python distutils

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

Python:用一些不可打击的物品腌制一个字典

我有一个gui_project具有属性的对象.namespace,这是一个命名空间字典.(即从字符串到对象的字典.)

(这在类似IDE的程序中使用,让用户在Python shell中定义自己的对象.)

我想gui_project用命名空间来腌制它.问题是,命名空间中的某些对象(即.namespacedict的值)不是可选对象.例如,其中一些是指wxPython小部件.

我想过滤掉不可剔除的对象,也就是说,将它们从pickle版本中排除.

我怎样才能做到这一点?

(我尝试过的一件事就是逐一对价值进行尝试并尝试腌制它们,但是发生了一些无限递归,我需要保护它.)

(我现在实现了一种GuiProject.__getstate__方法,除了其他无法解决的东西namespace.)

python graceful-degradation pickle

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

通过Django的`manage.py`清空数据库

我想完全清空整个数据库,使用Django将其恢复到我刚刚创建它时的状态manage.py.可能?

database django

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

如何将非快进git合并到未检出的分支?

我在树枝上a.我想将分支合并b到分支c.合并不是快进,但也不需要手动解决.(即,它不是简单的情况下,但它也不是最困难的,所以这是一个融合了Git是能够对自己做,而无需人.)

有没有办法让我做这个合并b从而c无需检查任何分支?怎么样?

更新:如果您知道可以执行的替代Git实现,那么这也是一个有效的解决方案.但编写一个以编程方式执行检查的脚本不是一个好的解决方案,因为它仍然需要我有一个干净的工作目录.

git

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

Python单击:让组在命令后执行代码

我有一个已click.group()定义的,其中包含大约10个命令.我理解如何使用组在命令中的代码之前运行代码,但我也希望在每个命令运行后运行一些代码.点击可能吗?

python python-click

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

JavaScript 是否对 Map 和 Set 使用哈希表?

我是一名 Python 开发人员,在 JavaScript 中迈出了第一步。

我开始使用MapSet。它们似乎dictsetPython 中的和具有相同的 API ,所以我假设它们是一个哈希表,我可以依靠 O(1) 查找时间。

但是,出于好奇,我尝试看看如果我在 Chrome 的控制台中执行此操作会发生什么:

new Set([new Set([1, 2, 3])])
Run Code Online (Sandbox Code Playgroud)

发生的事情是这样的:

Set(1) {Set(3)}
Run Code Online (Sandbox Code Playgroud)

JavaScript 愉快地创建了集合。怎么会这样?在 Python 中,你会得到一个错误,因为你不能把一个可变项目放在一个集合或一个字典中。为什么 JavaScript 允许它?

javascript python dictionary hashtable set

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

Python:在不使用`setr​​ecursionlimit`的情况下腌制高递归对象

RuntimeError: maximum recursion depth exceeded试图挑选一个高度递归的树对象时一直在想.就像这里的提问者一样.

他通过设置更高的递归限制解决了他的问题sys.setrecursionlimit.但我不想这样做:我认为这更像是一种解决方法,而不是一种解决方案.因为我希望能够腌制树木,即使它们中有10,000个节点.(它目前在200左右失败.)

(另外,每个平台的真正的递归限制是不同的,我真的想避免打开这种罐头蠕虫.)

有没有办法在基础层面解决这个问题?如果只有咸菜模块将腌制使用循环而不是递归,我不会有这个问题.也许有人知道如何在不重写pickle模块的情况下导致这样的事情发生?

任何其他想法如何我可以解决这个问题将不胜感激.

python recursion pickle

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

Django:按文本字段的长度查找

我有一个带有文本字段的模型.我想进行一次查找,返回该字段中包含长度为7或更多字符串的所有项目.可能?

如何查找该字段不在的所有对象''

python sql django

10
推荐指数
2
解决办法
2476
查看次数