diff --git a/Lib/aifc.py b/Lib/aifc.py index c02c485bb09..b08775485cd 100644 --- a/Lib/aifc.py +++ b/Lib/aifc.py @@ -889,24 +889,22 @@ if __name__ == '__main__': if not sys.argv[1:]: sys.argv.append('/usr/demos/data/audio/bach.aiff') fn = sys.argv[1] - f = open(fn, 'r') - print("Reading", fn) - print("nchannels =", f.getnchannels()) - print("nframes =", f.getnframes()) - print("sampwidth =", f.getsampwidth()) - print("framerate =", f.getframerate()) - print("comptype =", f.getcomptype()) - print("compname =", f.getcompname()) - if sys.argv[2:]: - gn = sys.argv[2] - print("Writing", gn) - g = open(gn, 'w') - g.setparams(f.getparams()) - while 1: - data = f.readframes(1024) - if not data: - break - g.writeframes(data) - g.close() - f.close() - print("Done.") + with open(fn, 'r') as f: + print("Reading", fn) + print("nchannels =", f.getnchannels()) + print("nframes =", f.getnframes()) + print("sampwidth =", f.getsampwidth()) + print("framerate =", f.getframerate()) + print("comptype =", f.getcomptype()) + print("compname =", f.getcompname()) + if sys.argv[2:]: + gn = sys.argv[2] + print("Writing", gn) + with open(gn, 'w') as g: + g.setparams(f.getparams()) + while 1: + data = f.readframes(1024) + if not data: + break + g.writeframes(data) + print("Done.") diff --git a/Misc/NEWS b/Misc/NEWS index 7e5b1d629dc..b923109b8ce 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -963,6 +963,9 @@ Build Tools/Demos ----------- +- Issue #18817: Fix a resource warning in Lib/aifc.py demo. Patch by + Vajrasky Kok. + - Issue #18439: Make patchcheck work on Windows for ACKS, NEWS. - Issue #18448: Fix a typo in Tools/demo/eiffel.py.