草庐IT

Python编程

全部标签

python - XML 到/从 Python 字典

我需要使用Python2.4.4将XML与Python字典相互转换。我只需要节点名称和值,我不担心属性,因为我正在解析的XML没有任何属性。我不能使用ElementTree,因为它不适用于2.4.4,而且由于我的工作环境,我不能使用第3方库。对我来说最简单的方法是什么?有什么好的片段吗?此外,如果没有简单的方法来执行此操作,是否有Python2.4.4原生支持的其他序列化格式? 最佳答案 我最近写了一些代码来将XML转换为Python数据结构,尽管我确实必须处理属性。出于类似的原因,我使用了xml.dom.minidom而不是Ele

python - 如何在 Python 中拆分大型维基百科转储 .xml.bz2 文件?

我正在尝试使用Python使用维基媒体转储文件(.xml.bz2)构建离线维基词典。我从this开始文章作为指导。它涉及多种语言,我想将所有步骤合并为一个python项目。我已经找到了该过程所需的几乎所有库。现在唯一的难题是有效地将大型.xml.bz2文件拆分为多个较小的文件,以便在搜索操作期间更快地进行解析。我知道python中有bz2库,但它只提供压缩和解压操作。但我需要一些可以做类似bz2recover的东西从命令行执行,它将大文件分成许多较小的垃圾。更重要的一点是拆分不应该拆分以开头的页面内容结束在压缩后的xml文档中。是否有以前可用的库可以处理这种情况,或者代码必须从头开始编

python - 值错误 : Cannot assign in django

我在尝试向我的模型添加/发布数据时遇到了问题。这是我在pythonmanage.pyshell中所做的:>>>frombooking.modelsimport*>>>qa=Product.objects.get(id=5)>>>sd=Booking.objects.create(...date_select='2011-11-29',...product_name=qa.name,...quantity=1,...price=qa.price,...totalcost=20,...first_name='lalala',...last_name='sadsd',...contact='

xml - 用scala以编程方式替换xml值

我正在编写一个工具来使用scala更新一些xml文件(在本例中为pom.xml),因为它在java中所花费的精力明显高于(理论上)在scala中的花费。我可以很好地解析xml文件,但我需要替换现有xml中的节点并重写结果。例如:foobar1.0-SNAPSHOT所以我想找到所有这样的节点并将它们替换为:foobar1.0所以,我可以很简单地获取所有版本节点,但是如何将它们替换为我想要的节点呢?//documentisalreadydefinedastheheadofthexmlfilenodes=for(node然后我想做这样的事情:for(node这不起作用,因为节点是不可变的。我

python - 如何在 Haskell 中重新实现这个 Python XML 解析函数?

我最近编写了以下Python函数,它将获取GooglePicasacontacts.xml文件并输出带有ID和名称的字典。defread_contacts_file(fn):importxml.etree.ElementTreex=xml.etree.ElementTree.ElementTree(file=fn)q=[(u.attrib["id"],u.attrib["name"])foruinx.iter("contact")]returndict(q)这个函数的作用是返回一个字典(哈希表,映射),其中ID是键,名称是值。文件本身具有以下形式:在Haskell中实现它的最简单方法是

Python lxml 电子工厂

我一直在使用lxml“E-Factory”(又名ElementMaker)来创建xml文档。我正在尝试生成与此类似的xml文档:2011-11-11但是,使用E-factory,我不确定如何在“添加数据”元素中指定破折号。它似乎将破折号解释为减号。这是我一直在引用的文档:http://lxml.de/tutorial.html#the-e-factory重现错误的方法如下:fromlxmlimportetreefromlxml.builderimportElementMakerE=ElementMaker()URL=E.urlDATE_ADDED=E.date-addedxml=URL

python - 如何在 Python 中获取 xml 文件的根节点?

基本上我正在使用:从xml.etree导入ElementTree作为ETpath='C:\cool.xml'et=ET.parse(path)但我不确定如何从et获取root? 最佳答案 你可能想要:et.getroot()从effbotsite查看ElementTree的官方文档.请注意,Python2.5(第一个包含开箱即用的ElementTree的Python版本)使用ElementTree1.2,而不是更新的1.3。区别不大,仅供引用以防万一。 关于python-如何在Pytho

python - Django:通过 HttpResponse 流式传输动态生成的 XML 输出

最近我想通过DjangoView返回一个动态生成的XML树。我用于XML操作的模块是常用的cElementTree。我想我通过执行以下操作解决了我想要的问题:defview1(request):resp=HttpResponse(g())returnrespdefg():root=Element("ist")list_stamp=SubElement(root,"list_timestamp")list_creation=str(datetime.now())foriinrange(1,1000000):root.text=str(i)yieldcET.tostring(root)这样

c# - 如何以编程方式从 XSD 生成 .NET 类? (就像 xsd.exe 一样)

我想以xsd.exe方式而不是linqtoxsd方式生成类。 最佳答案 查看System.Xml.Serialization.XmlCodeExporter类。更新(以防约翰·桑德斯懒得继续阅读)"Xsd.exeusesXmlCodeExportertogenerateclassesfromXMLSchemaDefinition(XSD)documents." 关于c#-如何以编程方式从XSD生成.NET类?(就像xsd.exe一样),我们在StackOverflow上找到一个类似的问题

xml - 如何以编程方式重新格式化 XML?

我有一个关于输入的XML文档,它的格式非常糟糕(如果有人关心的话,它是Delphi项目文件)-不一致的缩进、空行、节点字符串混在一起:C:\Some\Path\Filename.exe我想将其重新格式化为更好的格式。使用Win32/COM以编程方式执行此操作的最简单方法是什么?如果是MSXML,我该怎么做?我也希望能够指定缩进单位(制表符/几个空格)。我尝试使用Delphi的MSXML包装器TXmlDocument,它确实删除了空行并使用制表符缩进节点,但它不会像这样拆分行:C:\Some\Path\Filename.exe 最佳答案