with open(file_name, "r") as csv_file: csv_handle = csv.DictReader(csv_file,dialect='excel') for row in csv_handle: records.append(row) return records I have 2 way to open a file A) manual close csv_file = open(file_name, "r") <- csv_file is an Object of type file I MUST close that object (file) csv_handle = csv.DictReader(csv_file,dialect='excel') for row in csv_handle: records.append(row) csv_file.close() B) Auto-close with open(file_name, "r") as csv_file: <- will auto-close at end of block csv_handle = csv.DictReader(csv_file,dialect='excel') for row in csv_handle: records.append(row) return records <- the file is closed here