Re: [Python-ideas] sys.py3k
On Thu, Nov 8, 2012 at 5:35 AM, anatoly techtonik techto...@gmail.com wrote: I thought of sys.py3k check as an explicit way to guard the code that should be maintained extra carefully for Python 3 compatibility, so that you can grep the source for this constant and remove all the hacks (such as bytes to string conversion) required to maintain the compatibility when the time comes to switch. I agree about greppability, it's a huge help. Hence the code comment; as long as you're consistent and you pick a keyword long enough or unusual enough to not occur anywhere else, you can easily do a find across files or grep XYZ * to find them all. And if you put the comment on the most significant line of code, line-based tools will be more useful. # Unideal: # py3k try: reload except NameError: from imp import reload # Better: try: # py3k reload except NameError: from imp import reload # Best: try: reload # py3k except NameError: from imp import reload # Also best: try: reload except NameError: from imp import reload # py3k Taking just the line with the keyword py3k on it will tell you exactly what that file is doing. ChrisA -- http://mail.python.org/mailman/listinfo/python-list
Re: [Python-ideas] sys.py3k
On Thu, 08 Nov 2012 10:14:35 +1100, Chris Angelico wrote: On Thu, Nov 8, 2012 at 5:35 AM, anatoly techtonik techto...@gmail.com wrote: I thought of sys.py3k check ... Chris, you regularly reply to the wrong mailing list, and you've just done it again. This is not python-ideas. -- Steven -- http://mail.python.org/mailman/listinfo/python-list
Re: [Python-ideas] sys.py3k
On Thu, Nov 8, 2012 at 10:56 AM, Steven D'Aprano steve+comp.lang.pyt...@pearwood.info wrote: On Thu, 08 Nov 2012 10:14:35 +1100, Chris Angelico wrote: On Thu, Nov 8, 2012 at 5:35 AM, anatoly techtonik techto...@gmail.com wrote: I thought of sys.py3k check ... Chris, you regularly reply to the wrong mailing list, and you've just done it again. This is not python-ideas. Ack! Sorry all. I was sure I checked whoops. Egg-on-face-ly yours... ChrisA -- http://mail.python.org/mailman/listinfo/python-list
Re: [Python-ideas] sys.py3k
On Mon, Nov 5, 2012 at 9:33 AM, Steven D'Aprano st...@pearwood.info wrote: On 05/11/12 08:49, anatoly techtonik wrote: if sys.py3k: # some py2k specific code pass # Bring back reload in Python 3. try: reload except NameError: from imp import reload try: any except NameError: # Python 2.4 compatibility. def any(items): for item in items: if item: return True return False Take the best of both worlds: try: # py3k reload except NameError: from imp import reload Now you can grep your code for py3k without changing the language! Never underestimate the value of comment tokens. Universal ones like TODO or private ones like NULLSAFE, all it takes is grep or your editor's Find function to make them all obvious. ChrisA -- http://mail.python.org/mailman/listinfo/python-list