Hello. I read this is a good place to give some suggestions for features in python. If not, please let me know.
This is an example of a code I normally use in my everyday work: import logging try: with open('sample_data/READM.md') as f: print (len(f.read())) except FileNotFoundError: logging.error("File not found") As you can see I have 2 levels of indentation, which can add some pain to the work with the context manager. This code without context manager, can be replaced by this code: import logging try: f = open('sample_data/READM.md') as f: print (len(f.read())) except FileNotFoundError: logging.error("File not found") finally: f.close() And while this offers less indentations, it skips the usage of the very handy context manager. I would like to suggest an alternative syntax, that will, in a sense, apply the best of both worlds: import logging with open('sample_data/README.md') as f: print (len(f.read())) except FileNotFoundError: logging.error("File not") As "with" applies the behavior of the "try / finally" it feels like a natural part of this syntax. This could provide a cleaner code. If this idea is accepted, there are several things that need to be discussed, like what to do with "else" or "finally" statement following a context manager. I'm not sure about the proper way to handle this. With hopes for an even more readable future Yair -- בברכה, יאיר אשל כהנסקי מתכנת וטכנאי מילים https://www.inspect-element.net/YouAreHere/#/start -- https://mail.python.org/mailman/listinfo/python-list