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.
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()