[Python-Dev] Suggested addition to PEP 8 for context managers

Chris Angelico rosuav at gmail.com
Mon Apr 16 04:37:57 CEST 2012


On Mon, Apr 16, 2012 at 3:13 AM, Raymond Hettinger
<raymond.hettinger at gmail.com> wrote:
> Instead, the context manager implements a different behavior.  It would
> have been better if that behavior had been given a name:
>>    db = sqlite3.connect(filename)
>    with auto_commit_or_rollback(db):
>          # do a transaction

I agree that it wants a name. If explicitness is the goal, would this
be more suitable?
db = sqlite3.connect(filename)
with db.begin_transaction() as trans:
 # do a transaction
This way, if a database engine supports multiple simultaneous
transactions, the same syntax can be used.
Chris Angelico


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /