如何进行线程安全pythonxml验证?

2024-04-26 03:13:04 发布

您现在位置:Python中文网/ 问答频道 /正文

使用python3.3,我需要根据dtd或xsd验证XML文档,并且我希望根据每个规范验证许多文档。我将有一个多线程应用程序执行验证。lxml documentation解释如何针对每个规范类型进行验证。在

Lxml将验证错误记录在规范本身的数组中,因此每次执行验证时都需要规范的新副本。在

不可能每次都重新解析DTD规范(线程安全),因为我的DTD包含其他文件,而且我发现有必要将目录更改到包含DTD文件的文件夹中,以让lxml找到它们。我不能做线程安全cd,所以我在应用程序启动时阅读了所有规范。在

不希望重新解析(XSD或DTD)规范,因为它需要I/O时间和解析时间。在

我对spec(DTD和XMLSchema对象)的复制和深度复制的尝试完全失败了。在

有没有办法让lxml安全地验证?有没有更好的库可以同时支持XSD和DTD,让我检查线程安全的错误吗?在


Tags: 文件文档规范应用程序类型documentation错误时间
1条回答
网友
1楼 · 发布于 2024-04-26 03:13:04

在linux上,forked进程获取父级内存的“写时拷贝”视图。您可以利用这一点来处理一个大对象,开销很小,而且不需要更改父级内存空间中的对象。创建对象后,创建用于通信的管道,并派生子对象来完成该工作。multiprocessing模块的Process类可以为您完成繁重的工作。在

相关问题 更多 >