On Mon, Oct 11, 2021 at 10:59 PM Rob Cliffe via Python-ideas <python-ideas@python.org> wrote:
On 10/10/2021 13:31, Steven D'Aprano wrote:
On Sat, Oct 09, 2021 at 08:16:58PM -0600, Finn Mason wrote:
import sys if sys.version_info < (3, 6): # Yell at the user Please, version checking is usually an anti-pattern! You should use feature detection whenever possible, not version checking.
Understood. But would you agree that if you are writing code to be Python 2- and Python 3-compatible, it is reasonable to check the major version:
Python3 = sys.version_info.major >= 3 .... if Python3: # this code used to work without this bit ... if not Python3: # can't use this feature etc.
Maybe, but I still tend to feature-test. For instance: if str is bytes: def encode(text): return text else: def encode(text): return text.encode("UTF-8") In any case, there's not a lot of need to support Python 2 any more, so most of this sort of check doesn't exist in my code any more. ChrisA