summaryrefslogtreecommitdiff
path: root/argparse.py
diff options
context:
space:
mode:
authorsteven.bethard <devnull@localhost>2009-07-12 22:56:24 +0000
committersteven.bethard <devnull@localhost>2009-07-12 22:56:24 +0000
commite2ee5d493050071f7d853838a62be3e14ec6e4d6 (patch)
treee57b1a3f3bb6a8087947e7763d1ff64d0f97328b /argparse.py
parented87842cef7a4f1ec4719116aa008e9b3658413e (diff)
downloadargparse-e2ee5d493050071f7d853838a62be3e14ec6e4d6.tar.gz
Fix tests to write files to temp directory.
Fix bug where some files weren't being closed.
Diffstat (limited to 'argparse.py')
-rw-r--r--argparse.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/argparse.py b/argparse.py
index fd8e4d2..4ae1c89 100644
--- a/argparse.py
+++ b/argparse.py
@@ -1800,10 +1800,12 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer):
else:
try:
args_file = open(arg_string[1:])
- arg_strings = args_file.read().splitlines()
- arg_strings = self._read_args_from_files(arg_strings)
- new_arg_strings.extend(arg_strings)
- args_file.close()
+ try:
+ arg_strings = args_file.read().splitlines()
+ arg_strings = self._read_args_from_files(arg_strings)
+ new_arg_strings.extend(arg_strings)
+ finally:
+ args_file.close()
except IOError:
err = _sys.exc_info()[1]
self.error(str(err))