open in function using with
If we open the file in the recommended way using the with statement then we can be sure that the close method
of the fh object will be called when we leave the context of the with statement.
examples/advanced/with_fh.py
import sys import re def do_something(filename): with open(filename) as fh: while True: line = fh.readline() if line is None: break line = line.rstrip("\n") if re.search(r'\A\s*\Z', line): return print(line) def main(): if len(sys.argv) != 2: exit(f"Usage: {sys.argv[0]} FILENAME") filename = sys.argv[1] do_something(filename) main()