DEV Community

Discussion on: Learning Python- Intermediate course: Day 37, File handling in Python

Collapse
 
aatmaj profile image
Aatmaj

Thanks for that. I wish I had more time for this course so I could clearly explain everything in depth. Things like exception handling, more file methods and binary files afe left unfinished. But unfortunately I will require to finish up the intermediate part of the course this week. Hope one day I will write about this all. Thanks once again for the insightful piece of code.

Collapse
 
xtofl profile image
xtofl

You're welcome. I appreciate the effort you put into this, but I'm not sure if I agree with your telling aspiring programmers to adopt a way that has proven to cause expensive problems: improper cleanup of opened resources (files, sockets, database connections, ...). This open/close paradigm relies entirely on developer discipline. It was common in the 1990s, but since the advent of functional programming, this can be handled by our languages and libraries.

In this specific case, consider what is easier to learn

  • 'you always have to close your file (and I won't tell you how to make sure it happens)`, or
  • 'you open a file by using a with x.open() as f: block (and safety is built-in for you)?

This may sound harsh, but I'm appealing to your responsibility as a teacher. And given the fact that I have to spend time unteaching my young colleagues' bad habits, after fixing their bugs, I feel entitled to bring this message.

You may also find this message, amongst others, repeated in this terrific talk by one of the most experienced C++ teachers: Stop Teaching C.

But again: it's really great that you take the time to write all of this down! Keep up the good work!

Thread Thread
 
aatmaj profile image
Aatmaj

Thanks for the advice๐Ÿ‘