I cannot evaluate this statement...

Jerry Hill malaclypse2 at gmail.com
Fri Mar 7 15:55:10 EST 2008


On Fri, Mar 7, 2008 at 3:38 PM, waltbrad <waltbrad at hotmail.com> wrote:
>  Now. Run this on linux. The first condition evaluates sys.platform[:3]
>  == 'win' as false. So, the next comparison should be  'False' or
>  'python'   -- This is because 'and' returns the first false value.
>  But, again, on linux pyfile evaluates to python.exe

This seems to work as expected on my Ubuntu box.

Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, sys
>>> sys.platform
'linux2'
>>> pyfile = (sys.platform[:3] == 'win' and 'python.exe') or 'python'
>>> pyfile
'python'
>>>

What do you get for sys.platform when you run this code under linux?

-- 
Jerry



More information about the Python-list mailing list