@@ -602,10 +602,13 @@ def parsefile():
602602 <ns0:empty-element />
603603 </ns0:root>
604604
605+ >>> with open(SIMPLE_XMLFILE) as f:
606+ ... data = f.read()
607+
605608 >>> parser = ET.XMLParser()
606609 >>> parser.version # doctest: +ELLIPSIS
607610 'Expat ...'
608- >>> parser.feed(open(SIMPLE_XMLFILE).read() )
611+ >>> parser.feed(data )
609612 >>> print(serialize(parser.close()))
610613 <root>
611614 <element key="value">text</element>
@@ -614,7 +617,7 @@ def parsefile():
614617 </root>
615618
616619 >>> parser = ET.XMLTreeBuilder() # 1.2 compatibility
617- >>> parser.feed(open(SIMPLE_XMLFILE).read() )
620+ >>> parser.feed(data )
618621 >>> print(serialize(parser.close()))
619622 <root>
620623 <element key="value">text</element>
@@ -624,7 +627,7 @@ def parsefile():
624627
625628 >>> target = ET.TreeBuilder()
626629 >>> parser = ET.XMLParser(target=target)
627- >>> parser.feed(open(SIMPLE_XMLFILE).read() )
630+ >>> parser.feed(data )
628631 >>> print(serialize(parser.close()))
629632 <root>
630633 <element key="value">text</element>
@@ -727,7 +730,8 @@ def iterparse():
727730 end-ns None
728731
729732 >>> events = ("start", "end", "bogus")
730- >>> context = iterparse(SIMPLE_XMLFILE, events)
733+ >>> with open(SIMPLE_XMLFILE, "rb") as f:
734+ ... iterparse(f, events)
731735 Traceback (most recent call last):
732736 ValueError: unknown event 'bogus'
733737
@@ -779,6 +783,8 @@ def custom_builder():
779783 """
780784 Test parser w. custom builder.
781785
786+ >>> with open(SIMPLE_XMLFILE) as f:
787+ ... data = f.read()
782788 >>> class Builder:
783789 ... def start(self, tag, attrib):
784790 ... print("start", tag)
@@ -788,7 +794,7 @@ def custom_builder():
788794 ... pass
789795 >>> builder = Builder()
790796 >>> parser = ET.XMLParser(target=builder)
791- >>> parser.feed(open(SIMPLE_XMLFILE, "r").read() )
797+ >>> parser.feed(data )
792798 start root
793799 start element
794800 end element
@@ -798,6 +804,8 @@ def custom_builder():
798804 end empty-element
799805 end root
800806
807+ >>> with open(SIMPLE_NS_XMLFILE) as f:
808+ ... data = f.read()
801809 >>> class Builder:
802810 ... def start(self, tag, attrib):
803811 ... print("start", tag)
@@ -811,7 +819,7 @@ def custom_builder():
811819 ... print("comment", repr(data))
812820 >>> builder = Builder()
813821 >>> parser = ET.XMLParser(target=builder)
814- >>> parser.feed(open(SIMPLE_NS_XMLFILE, "r").read() )
822+ >>> parser.feed(data )
815823 pi pi 'data'
816824 comment ' comment '
817825 start {namespace}root
@@ -829,7 +837,8 @@ def getchildren():
829837 """
830838 Test Element.getchildren()
831839
832- >>> tree = ET.parse(open(SIMPLE_XMLFILE, "rb"))
840+ >>> with open(SIMPLE_XMLFILE, "rb") as f:
841+ ... tree = ET.parse(f)
833842 >>> for elem in tree.getroot().iter():
834843 ... summarize_list(elem.getchildren())
835844 ['element', 'element', 'empty-element']
0 commit comments