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