Backporting Python 3 open (encoding = „utf-8”) do Pythona 2

Mam bazę kodową Pythona, zbudowaną dla Pythona 3, która używa stylu open () Pythona 3 z parametrem kodowania:

https://github.com/miohtama/vvv/blob/master/vvv/textlineplugin.py#L47

    with open(fname, "rt", encoding="utf-8") as f:

Teraz chciałbym przenieść ten kod do Pythona 2.x, aby mieć bazę kodu, która działa z Pythonem 2 i Pythonem 3.

Jaka jest zalecana strategia do obejściaopen() różnice i brak parametru kodowania?

Czy mogę mieć Pythona 3open() obsługi plików stylu, która strumieniuje bytestrings, więc działałaby jak Python 2open()?

questionAnswers(4)

yourAnswerToTheQuestion