Which of the following is the most idiomatic and safest way to open a file for writing in Python, ensuring that it is always closed properly?