小编esp*_*akk的帖子

如何使用Python搜索和替换XML?

我正在制作一个用于翻译xml文档的脚本.它实际上非常酷,想法是(并且它正在工作)获取xml文件(或xml文件的文件夹)并打开它,解析xml,获取某些标签之间的任何内容并使用google translate api翻译它并替换xml文件的内容.

正如我所说,我有这个工作,但只有相当严格的xml格式文档,现在我必须使它与格式不同的文档兼容.所以我的想法是:

解析xml,找到一个节点,例如:

<template>lorem lipsum dolor mit amet<think><set name="she">Ada</set></think></template>
Run Code Online (Sandbox Code Playgroud)

将其保存为字符串,执行一些正则表达式搜索并替换此字符串.但遗憾的是,我不知道如何继续进行.我想搜索字符串(xml节点)查找介于两个标签之间的文本,在本例中为"lorem lipsum dolor mit amet"和"Ada",调用这些文本作为参数的函数,然后插入函数的结果在它起源的同一个地方.

我不能得到文本并重建xml格式的原因是将有不同格式的xml节点,所以我需要它是相同的...

python regex xml

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

如何从数组中获取表示最多的对象

我有一个包含一些对象的数组,并且有几个相似的对象.例如:水果= [苹果,橙子,苹果,香蕉,香蕉,橙子,苹果,苹果]

从这个数组中获取代表性最高的对象的最有效方法是什么?在这种情况下,它将是"苹果",但你会如何以有效的方式出去计算?

python arrays algorithm performance list

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

如何使用Django FileFields在模板中显示当前文件

我有点卡住,我一直在使用Django一段时间了,但实际上我似乎无法找到这个东西.这很奇怪,因为它应该是一件简单的事情.

我一直在谷歌搜索,似乎无法找到解决方案,这可能是因为它是一件简单的事情.

问题是,我有一个ModelForm,它有一个FileField,当我用模型实例渲染这个表单,并且该对象包含一个上传文件时,我想显示当前文件,(就像管理员一样) ,但我似乎无法做到这一点.

这些技术都不起作用:

{{ form.as_p }}
{{ field.label_tag }}
Run Code Online (Sandbox Code Playgroud)

我一直在管理员模板中搜索,但似乎无法找到魔法.该表单正确呈现对象的所有其他数据

问题2是由于在使用对象实例呈现更改表单时未显示上载的文件,因此表单在我尝试保存时无法验证,因为它对先前上载的文件一无所知.

那么如何处理Django中的更改表单中的文件字段,如何显示当前上载的文件以及如何验证表单.

django validation templates file-upload file

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

ZipFile 抱怨,有没有办法使用 zipfile 模块?

我正在尝试解压缩发送给我的一些彩信。问题是有时它有效,而另一些则无效。当它不起作用时,python zipfile 模块会抱怨并说这是一个错误的 zip 文件。但是 zipfile 使用 unix unzip 命令可以很好地解压。

这是我得到的

zippedfile = open('%stemp/tempfile.zip' % settings.MEDIA_ROOT, 'w+')
zippedfile.write(string)
z = zipfile.ZipFile(zippedfile)
Run Code Online (Sandbox Code Playgroud)

我正在使用 'w+' 并向其写入一个字符串,该字符串包含一个 zip 文件的 base64 解码字符串表示。

然后我喜欢这样:

filelist = z.infolist()  
images = []  

for f in filelist:  
    raw_mimetype = mimetypes.guess_type(f.filename)[0]  
    if raw_mimetype:  
        mimetype = raw_mimetype.split('/')[0]  
    else:  
        mimetype = 'unknown'  
    if mimetype == 'image':  
        images.append(f.filename)  
Run Code Online (Sandbox Code Playgroud)

这样我就得到了 zip 文件中所有图像的列表。但这并不总是有效,因为 zipfile 模块会抱怨某些文件。

有没有办法在不使用 zipfile 模块的情况下做到这一点?

我可以以某种方式使用 unix 命令 unzip 而不是 zipfile 然后使用同样的方法从存档中检索所有图像吗?

python zip popen zipfile

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