使用pyfakefs运行lxml时出错

2024-06-26 01:35:22 发布

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

如何使用pyfakefs运行lxml?你知道吗

import os
import unittest
from lxml import etree
from pyfakefs import fake_filesystem_unittest

class TestExample(fake_filesystem_unittest.TestCase):
    def setUp(self):
        self.setUpPyfakefs()

    def test_lxml(self):
        os.mkdir('/test')

        root = etree.Element("root")
        tree = etree.ElementTree(root)
        tree.write('/test/file.xml')

if __name__ == "__main__":
    unittest.main()

运行上述示例时,我得到以下错误:

Traceback (most recent call last):
  File "example_test.py", line 25, in test_lxml
  File "src/lxml/lxml.etree.pyx", line 2033, in lxml.etree._ElementTree.write (src/lxml/lx
ml.etree.c:63707)
  File "src/lxml/serializer.pxi", line 512, in lxml.etree._tofilelike (src/lxml/lxml.etree
.c:134950)
  File "src/lxml/serializer.pxi", line 571, in lxml.etree._create_output_buffer (src/lxml/
lxml.etree.c:135614)
  File "src/lxml/serializer.pxi", line 560, in lxml.etree._create_output_buffer (src/lxml/
lxml.etree.c:135415)
IOError: [Errno 2] No such file or directory

我正在MacOS10.12.4上使用Python2.7.13中的lxml3.6.4和pyfakefs3.1


Tags: intestimportselfsrcoslineroot