summaryrefslogtreecommitdiffstats
path: root/Lib/shutil.py
diff options
context:
space:
mode:
authorTarek Ziadé <ziade.tarek@gmail.com>2010-05-05 22:21:13 (GMT)
committerTarek Ziadé <ziade.tarek@gmail.com>2010-05-05 22:21:13 (GMT)
commit06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e (patch)
tree590d5695e5c0afcea89f8d741f407cb7eeaabbb6 /Lib/shutil.py
parent6bb7c4f2efafb8d5a34f2e7a980342e2e4abfd49 (diff)
downloadcpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.zip
cpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.tar.gz
cpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.tar.bz2
Merged revisions 80830 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r80830 | tarek.ziade | 2010-05-06 00:15:31 +0200 (Thu, 06 May 2010) | 1 line Fixed #4265: shutil.copyfile() was leaking file descriptors when disk fills ........
Diffstat (limited to 'Lib/shutil.py')
-rw-r--r--Lib/shutil.py16
1 files changed, 4 insertions, 12 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py
index 4b62cbb..4c182ae 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -45,19 +45,11 @@ def _samefile(src, dst):
def copyfile(src, dst):
"""Copy data from src to dst"""
if _samefile(src, dst):
- raise Error, "`%s` and `%s` are the same file" % (src, dst)
+ raise Error("`%s` and `%s` are the same file" % (src, dst))
- fsrc = None
- fdst = None
- try:
- fsrc = open(src, 'rb')
- fdst = open(dst, 'wb')
- copyfileobj(fsrc, fdst)
- finally:
- if fdst:
- fdst.close()
- if fsrc:
- fsrc.close()
+ with open(src, 'rb') as fsrc:
+ with open(dst, 'wb') as fdst:
+ copyfileobj(fsrc, fdst)
def copymode(src, dst):
"""Copy mode bits from src to dst"""