Anthon's answer is correct, however for non-trivial Python projects you should have a look at the distutils module in the standard library. It's designed to deploy python modules and executables on a system the "right way", and :


Python devs are familiar with this module (or should be) because it's in the standard library and most well-known Python packages (Django, NumPy, Celery to name a few) are using it. Newcomers will know instantly how to deploy your project.
Once you've defined which files and packages you have in your project, just run  python setup.py install to deploy and update your package on the system.

No more manually updating the PATH variable copying files to /usr/local/bin or setting them to be executable, it's all handled for you!
You can use pip install -e to install your package in development mode.
It's portable (sort of) in Windows or OSX environments as well.


Also, I can't recomment the use of an argument parser such as argparse enough if you're designing command-line tools.

Basic steps to develop python API in Unix environment
Is there any performance difference between using something like

for(int i = 0; i &lt; 10; i++) { ... }


and

for(int i = 0; i &lt; 10; ++i) { ... }


or is the compiler able to optimize in such a way that they are equally fast in the case where they are functionally equivalent?

Edit:
This was asked because I had a discussion with a co-worker about it, not because I think its a useful optimization in any practical sense. It is largely academic. 
