mirror of
https://github.com/python/cpython.git
synced 2025-07-15 15:25:29 +00:00
bpo-22831: Use "with" to avoid possible fd leaks in tools (part 2). (GH-10927)
This commit is contained in:
parent
afbb7a371f
commit
172bb39452
27 changed files with 249 additions and 259 deletions
|
@ -30,29 +30,30 @@ def main():
|
|||
f = open(filename)
|
||||
except IOError as msg:
|
||||
usage("can't open %r: %s" % (filename, msg), 1)
|
||||
f.seek(0, 2)
|
||||
pos = f.tell()
|
||||
leftover = None
|
||||
while pos > 0:
|
||||
size = min(pos, bufsize)
|
||||
pos = pos - size
|
||||
f.seek(pos)
|
||||
buffer = f.read(size)
|
||||
lines = buffer.split("\n")
|
||||
del buffer
|
||||
if leftover is None:
|
||||
if not lines[-1]:
|
||||
del lines[-1]
|
||||
else:
|
||||
lines[-1] = lines[-1] + leftover
|
||||
if pos > 0:
|
||||
leftover = lines[0]
|
||||
del lines[0]
|
||||
else:
|
||||
leftover = None
|
||||
for line in reversed(lines):
|
||||
if prog.search(line):
|
||||
print(line)
|
||||
with f:
|
||||
f.seek(0, 2)
|
||||
pos = f.tell()
|
||||
leftover = None
|
||||
while pos > 0:
|
||||
size = min(pos, bufsize)
|
||||
pos = pos - size
|
||||
f.seek(pos)
|
||||
buffer = f.read(size)
|
||||
lines = buffer.split("\n")
|
||||
del buffer
|
||||
if leftover is None:
|
||||
if not lines[-1]:
|
||||
del lines[-1]
|
||||
else:
|
||||
lines[-1] = lines[-1] + leftover
|
||||
if pos > 0:
|
||||
leftover = lines[0]
|
||||
del lines[0]
|
||||
else:
|
||||
leftover = None
|
||||
for line in reversed(lines):
|
||||
if prog.search(line):
|
||||
print(line)
|
||||
|
||||
|
||||
def usage(msg, code=2):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue