After some digging it seems that python does not have any equivalent to C's #if directives, and I don't get it...
For example, I've got a bit of python 2.3 code that uses collections.deque.pop(0) in order to pop the leftmost item. In python 2.4 this is no longer valid - there is no argument on pop (rightmost only now) and you call .popleft() instead. I would like my code to work in both versions for now and simply want to add code like: if sys.version[:3] == "2.3": return self.myDeque.pop(0) else: return self.myDeque.popleft() but am recoiling a bit at the unnecessary conditional in there that I think will be run on every execution - unless the compiler has some magic detection of things like sys.version to compile out the conditional as if it were a preprocessor directive (seems highly unlikely!)?. What is the pythonic thing to do? This is in a generally usable file, not a package, so I don't want to make a version for each (which seems to be what every package out there does). It seems to be begging for a pre-processor directive set. Thanks, Russ -- http://mail.python.org/mailman/listinfo/python-list