The ./ tells the shell that you are referring to a file in the current directory. If you wanted to call a program such as backup and this happened to be a binary available in one of the program directories on the system, the shell would by default run this binary.
However you might have been in a directory of your own programs which happened to have a binary called backup, too. You might hence not even realise that the system was actually running a completely different binary.
By using ./backup, you are specifying that you want the system to use the binary in the current working directory, as opposed to one available in the program dirs.
You can test this by using the Linux whereis command, which in this example might specify that backup is actually at /usr/bin/backup, instead of perhaps ~/backup.
manage.pyis#!/usr/bin/env python../filewill always execute the file the binary provided by that path. So it's just better to write./thenpythonbecause it's shorter. Correct? – Bentley4 Dec 13 '12 at 11:31python manage.pydoesn't requiremanage.pyto have executive permission while./manage.pydoes? – Bentley4 Dec 13 '12 at 11:47