是否有一个Python库允许在内存中操作zip存档,而不必使用实际的磁盘文件?
ZipFile库不允许您更新存档.唯一的方法似乎是将其解压缩到一个目录,进行更改,并从该目录创建一个新的zip.我想修改zip存档而无需磁盘访问,因为我将下载它们,进行更改并再次上传,所以我没有理由存储它们.
类似于Java的ZipInputStream/ZipOutputStream的东西可以解决这个问题,尽管任何可以避免磁盘访问的接口都可以.
我有一个Python正则表达式,其中包含一个可以出现零次或多次的组 - 但是当我之后检索组列表时,只有最后一个存在.例:
re.search("(\w)*", "abcdefg").groups()
这将返回列表('g',)
我需要它返回('a','b','c','d','e','f','g',)
那可能吗?我该怎么做?
在Godel,Escher,Bach by Douglas Hofstader的第8章中,读者被要求将这两个陈述翻译成TNT:
"b是2的力量"
和
"b是10的力量"
以下答案是否正确?:
(假设'''表示'存在数字'):
∃x:(xx = b)
即"存在一个数字'x',使x乘以x等于b"
如果这是正确的,那么下一个同样是微不足道的:
∃x:(xxxxxxxxxx = b)
我很困惑,因为作者表示他们很棘手,第二个应该花费数小时来解决; 我一定错过了一些明显的东西,但我看不到它!
我有一个分布式应用程序,包含许多通过TCP(例如JMS)和HTTP进行通信的组件.所有组件都在内部硬件上运行,具有内部IP地址,并且公众无法访问.
我想使用SSL使通信安全.从知名证书颁发机构购买签名证书是否有意义?或者我应该使用自签名证书?
我对可信证书的优势的理解是,权威是一个可以被公众信任的实体 - 但这只是当一般公众需要确定特定领域的实体是他们所说的人时的问题.是.
因此,在我的情况下,同一组织负责通信两端的组件以及介于两者之间的所有组件,公共信任的权限将毫无意义.换句话说,如果我为自己的服务器生成并签署证书,我知道它是值得信赖的.并且不会要求组织外部的任何人信任此证书.这是我的推理 - 我是正确的,还是使用来自已知权威机构的证书有一些潜在的优势?
我有一些 Celery 任务,我通过使用任务 ID 实例化 AsyncResult 来定期从单独的进程检查它们的状态。
由此,我得到了任务状态。通过实现自定义结果后端和扩展 AsyncResult 类,如here所述,我也可以获取任务名称。但是,我希望能够为每个任务获取自定义显示名称 - 人类可读的内容,以便我可以以用户友好的方式显示状态信息。
假设,它可能设置为:
@app.task()
def my_task(args):
display_name = "My Task"
...
...
Run Code Online (Sandbox Code Playgroud)
后来我会做...
result = ExtendedAsyncResult(task_id)
result.display_name
Run Code Online (Sandbox Code Playgroud)
但是从我链接到的自定义结果后端来看,似乎没有任何方法可以访问任务的局部变量。
有没有办法实现我正在寻找的东西?
我有一个服务,它接受一个.odt模板文件和一些文本值,并产生一个.odt作为它的输出.我需要通过HTTP提供此服务,我不太清楚什么是使REST接口工作的最RESTful方式.
我需要能够将模板文件和输入值提供给服务器 - 并将生成的.odt文件发送给我.我看到的关于它如何工作的选项是:
(1)的问题是我不想将模板文件存储在服务器上.这增加了复杂性并且存储文件对我来说没有用,除了它是一个非常RESTful的方法.此外,单个请求优于2,所有其他条件相同.
(2)的问题是将一个正文放在一个GET请求中接近滥用HTTP - 我现在使用的软件支持它,但可能并不总是如此.
数字(3)似乎具有误导性,因为这更像是"阅读"或"获取"操作而不是"帖子".
我在做什么本质上是一样的函数调用-我需要传递数据的显著量中,和我真的只是使用HTTP作为整个网络暴露我的代码的一种便捷方式.也许我正在尝试做的本质上是非RESTful,并且没有REST友好的解决方案?任何人都可以建议吗?谢谢!
某处是否有一个列表(或者更好的是一个模块!),我可以用它来检查字符串是否是变量名称的“坏”选择,其中“坏”被定义为“是关键字或内置 -在功能等”?
我有一个从 Jinja 模板(准确地说是 Django 模型)生成 Python 类的脚本,我想修复由于我上面提到的原因而不适合的任何字段名称。
到目前为止,我有一张看起来像这样的支票:
def is_bad_name(name):
return keyword.iskeyword(name) or (name in ["type"])
Run Code Online (Sandbox Code Playgroud)
因此,表达我的问题的另一种方式是:除了“类型”之外,我还应该在该列表中添加什么?
我意识到不可能有任何完整的列表,因为它会根据我正在使用的其他模块中定义的内容而有所不同,但我想知道是否有一个很好的列表,列出了几乎永远不会使用的东西。谢谢!