gpt4 book ai didi

文件中的 Python ElementTree.parse() 不会关闭文件

转载 作者:太空狗 更新时间:2023-10-30 01:54:16 25 4
gpt4 key购买 nike

我有一个 xml 文件 - 一种用于填充参数和发出请求(创建一些数据)的模板。

我用

打开这个文件
tree = ET.parse(path_to_file)

我循环从文件中获取 xml,填充参数并发送请求。但是在 2555 个请求之后,我收到一条错误消息:

IOError: [Errno 24] Too many open files: 'resources/cmr/skeletons/man/CreateLiveEvent.xml'

有没有办法在 ET.parse() 打开后关闭文件?

谢谢

最佳答案

升级您的 2.7 安装。这应该是 fixed in issue #7334 , 并包含在 2.7.3 中。 确实看起来 cElementTree 实现关闭文件的方式存在错误(例如,它不会关闭它们)。

另一种方法是自己打开文件:

with open(path_to_file, 'rb') as xml_file:
tree = ET.parse(xml_file)

并将其留给with 语句来关闭文件对象。以二进制打开文件;处理行尾和编码是 XML 解析器的工作。

关于文件中的 Python ElementTree.parse() 不会关闭文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com