I don't open multiple file handles at once very often in Python, so it surprised me to find out this morning that you have to use the old-school line continuation hack to make it work (in 3.9 or earlier):
# Note the trailing backslash on the next line... with open('a.txt', 'w') as file_a, \ open('b.txt', 'w') as file_b: # Do something with file_a # Do something with file_b
Happily, Python 3.10 fixes this by adding Parenthesized Context Managers, which allows us to use parentheses like you would expect to:
# Only in Python 3.10+ with ( open('a.txt', 'w') as file_a, open('b.txt', 'w') as file_b ): # Do something with file_a # Do something with file_b
The project I'm working on is still on Python 3.9, but it's good to know this was improved, and is a motivator to upgrade the version I'm using.