Commit f7c24450 authored by Antoine Pitrou's avatar Antoine Pitrou

Merged revisions 85497 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85497 | antoine.pitrou | 2010-10-14 23:15:17 +0200 (jeu., 14 oct. 2010) | 3 lines

  Explicitly close some files (from issue #10093)
........
parent b67660fc
...@@ -343,7 +343,8 @@ def test(): ...@@ -343,7 +343,8 @@ def test():
if o == '-u': func = decode if o == '-u': func = decode
if o == '-t': test1(); return if o == '-t': test1(); return
if args and args[0] != '-': if args and args[0] != '-':
func(open(args[0], 'rb'), sys.stdout) with open(args[0], 'rb') as f:
func(f, sys.stdout)
else: else:
func(sys.stdin, sys.stdout) func(sys.stdin, sys.stdout)
......
...@@ -199,9 +199,8 @@ class MimeTypes: ...@@ -199,9 +199,8 @@ class MimeTypes:
list of standard types, else to the list of non-standard list of standard types, else to the list of non-standard
types. types.
""" """
fp = open(filename) with open(filename) as fp:
self.readfp(fp, strict) self.readfp(fp, strict)
fp.close()
def readfp(self, fp, strict=True): def readfp(self, fp, strict=True):
""" """
...@@ -356,7 +355,7 @@ def init(files=None): ...@@ -356,7 +355,7 @@ def init(files=None):
files = knownfiles files = knownfiles
for file in files: for file in files:
if os.path.isfile(file): if os.path.isfile(file):
db.readfp(open(file)) db.read(file)
encodings_map = db.encodings_map encodings_map = db.encodings_map
suffix_map = db.suffix_map suffix_map = db.suffix_map
types_map = db.types_map[True] types_map = db.types_map[True]
......
...@@ -289,7 +289,8 @@ def _init_posix(vars): ...@@ -289,7 +289,8 @@ def _init_posix(vars):
# load the installed pyconfig.h: # load the installed pyconfig.h:
config_h = get_config_h_filename() config_h = get_config_h_filename()
try: try:
parse_config_h(open(config_h), vars) with open(config_h) as f:
parse_config_h(f, vars)
except IOError, e: except IOError, e:
msg = "invalid Python installation: unable to open %s" % config_h msg = "invalid Python installation: unable to open %s" % config_h
if hasattr(e, "strerror"): if hasattr(e, "strerror"):
......
...@@ -4171,7 +4171,8 @@ class TestEncoding(TestCase): ...@@ -4171,7 +4171,8 @@ class TestEncoding(TestCase):
def _test_module_encoding(self, path): def _test_module_encoding(self, path):
path, _ = os.path.splitext(path) path, _ = os.path.splitext(path)
path += ".py" path += ".py"
codecs.open(path, 'r', 'utf8').read() with codecs.open(path, 'r', 'utf8') as f:
f.read()
def test_argparse_module_encoding(self): def test_argparse_module_encoding(self):
self._test_module_encoding(argparse.__file__) self._test_module_encoding(argparse.__file__)
......
...@@ -586,10 +586,13 @@ def parsefile(): ...@@ -586,10 +586,13 @@ def parsefile():
<ns0:empty-element /> <ns0:empty-element />
</ns0:root> </ns0:root>
>>> with open(SIMPLE_XMLFILE) as f:
... data = f.read()
>>> parser = ET.XMLParser() >>> parser = ET.XMLParser()
>>> parser.version # doctest: +ELLIPSIS >>> parser.version # doctest: +ELLIPSIS
'Expat ...' 'Expat ...'
>>> parser.feed(open(SIMPLE_XMLFILE).read()) >>> parser.feed(data)
>>> print serialize(parser.close()) >>> print serialize(parser.close())
<root> <root>
<element key="value">text</element> <element key="value">text</element>
...@@ -598,7 +601,7 @@ def parsefile(): ...@@ -598,7 +601,7 @@ def parsefile():
</root> </root>
>>> parser = ET.XMLTreeBuilder() # 1.2 compatibility >>> parser = ET.XMLTreeBuilder() # 1.2 compatibility
>>> parser.feed(open(SIMPLE_XMLFILE).read()) >>> parser.feed(data)
>>> print serialize(parser.close()) >>> print serialize(parser.close())
<root> <root>
<element key="value">text</element> <element key="value">text</element>
...@@ -608,7 +611,7 @@ def parsefile(): ...@@ -608,7 +611,7 @@ def parsefile():
>>> target = ET.TreeBuilder() >>> target = ET.TreeBuilder()
>>> parser = ET.XMLParser(target=target) >>> parser = ET.XMLParser(target=target)
>>> parser.feed(open(SIMPLE_XMLFILE).read()) >>> parser.feed(data)
>>> print serialize(parser.close()) >>> print serialize(parser.close())
<root> <root>
<element key="value">text</element> <element key="value">text</element>
...@@ -711,7 +714,8 @@ def iterparse(): ...@@ -711,7 +714,8 @@ def iterparse():
end-ns None end-ns None
>>> events = ("start", "end", "bogus") >>> events = ("start", "end", "bogus")
>>> context = iterparse(SIMPLE_XMLFILE, events) >>> with open(SIMPLE_XMLFILE, "rb") as f:
... iterparse(f, events)
Traceback (most recent call last): Traceback (most recent call last):
ValueError: unknown event 'bogus' ValueError: unknown event 'bogus'
...@@ -763,6 +767,8 @@ def custom_builder(): ...@@ -763,6 +767,8 @@ def custom_builder():
""" """
Test parser w. custom builder. Test parser w. custom builder.
>>> with open(SIMPLE_XMLFILE) as f:
... data = f.read()
>>> class Builder: >>> class Builder:
... def start(self, tag, attrib): ... def start(self, tag, attrib):
... print "start", tag ... print "start", tag
...@@ -772,7 +778,7 @@ def custom_builder(): ...@@ -772,7 +778,7 @@ def custom_builder():
... pass ... pass
>>> builder = Builder() >>> builder = Builder()
>>> parser = ET.XMLParser(target=builder) >>> parser = ET.XMLParser(target=builder)
>>> parser.feed(open(SIMPLE_XMLFILE, "r").read()) >>> parser.feed(data)
start root start root
start element start element
end element end element
...@@ -782,6 +788,8 @@ def custom_builder(): ...@@ -782,6 +788,8 @@ def custom_builder():
end empty-element end empty-element
end root end root
>>> with open(SIMPLE_NS_XMLFILE) as f:
... data = f.read()
>>> class Builder: >>> class Builder:
... def start(self, tag, attrib): ... def start(self, tag, attrib):
... print "start", tag ... print "start", tag
...@@ -795,7 +803,7 @@ def custom_builder(): ...@@ -795,7 +803,7 @@ def custom_builder():
... print "comment", repr(data) ... print "comment", repr(data)
>>> builder = Builder() >>> builder = Builder()
>>> parser = ET.XMLParser(target=builder) >>> parser = ET.XMLParser(target=builder)
>>> parser.feed(open(SIMPLE_NS_XMLFILE, "r").read()) >>> parser.feed(data)
pi pi 'data' pi pi 'data'
comment ' comment ' comment ' comment '
start {namespace}root start {namespace}root
...@@ -813,7 +821,8 @@ def getchildren(): ...@@ -813,7 +821,8 @@ def getchildren():
""" """
Test Element.getchildren() Test Element.getchildren()
>>> tree = ET.parse(open(SIMPLE_XMLFILE, "r")) >>> with open(SIMPLE_XMLFILE, "r") as f:
... tree = ET.parse(f)
>>> for elem in tree.getroot().iter(): >>> for elem in tree.getroot().iter():
... summarize_list(elem.getchildren()) ... summarize_list(elem.getchildren())
['element', 'element', 'empty-element'] ['element', 'element', 'empty-element']
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment