if you're using python or laterthoughor have its windows launcher installed separatelyit turns out that unix-style #lines do mean something on windows too besides offering the py executable described earlierthe new windows launcher mentioned earlier attempts to parse #lines to determine which python version to launch to run your script' code moreoverit allows you to give the version number in full or partial formsand recognizes most common unix patterns for this lineincluding the /usr/bin/env form the launcher' #parsing mechanism is applied when you run scripts from command lines with the py programand when you click python file icons (in which case py is run implicitly by filename associationsunlike unixyou do not need to mark files with executable privileges for this to work on windowsbecause filename associations achieve similar results for examplethe first of the following is run by python and the second by (without an explicit numberthe launcher defaults to unless you set py_python environment variable) :\codetype robin py #!/usr/bin/python print('run''away' :\codepy robin py run awayc:\codetype robin py #!python print 'run''away morec:\codepy robin py run away more function run file per #line version statement run file per #line version this works in addition to passing versions on command lines--we saw this briefly earlier for starting the interactive promptbut it works the same when launching script filec:\codepy - robin py run awayrun per command-line argument the net effect is that the launcher allows python versions to be specified on both perfile and per-command basisby using #lines and command-line argumentsrespec as we discussed when exploring command linesall recent windows versions also let you type just the name of py file at the system command line--they use the registry to determine that the file should be opened with python ( typing brian py is equivalent to typing python brian pythis command-line mode is similar in spirit to the unix #!though it is system-wide on windowsnot per-file it also requires an explicit py extensionfilename associations won' work without it some programs may actually interpret and use first #line on windows much like on unix (including python ' windows launcher)but the system shell on windows itself simply ignores it unix-style executable scripts#