Running a Python file

Cameron Hutchison lists at xdna.net
Wed Jul 7 01:13:20 UTC 2010


Jim Byrnes <jf_byrnes at comcast.net> writes:

>I have been teaching myself Python.  Running some of my programs and 
>others examples I noticed that some I could run by double-clicking them 
>and others I could not.  Looking at the file permissions I saw that they 
>were different.  Then I noticed that all the ones I could not run were 
>ones I gone into Properties-->Permissions and check execute as a 
>program.  Once I unchecked it they worked.

>This seems backwards to me.  Could someone tell me why this works this way?

If your python program is executable, it must have a first line of
something line this:
#!/usr/bin/python

or sometimes

#!/usr/bin/env python

If you don't have this line, the kernel will not be able to execute it.
For more info on this first line, see:
http://en.wikipedia.org/wiki/Shebang_(Unix)

If you turn off execute permission, I assume that the file manager
recognises that the file is a python program (with the .py extension)
and runs the python interpreter for you (from the command line, this
would look like: "python file.py"). Without the file manager doing
something like this, the program would not be executable. It is likely
the same logic used when you double-click an openoffice.org document
(for example). Openoffice.org is launched with the double-clicked file
as an argument.





More information about the ubuntu-users mailing list