Mukund Gandlur Mukund Gandlur - 7 months ago 13
Python Question

Running a python method/function directly from a file

I would like to know if there is a way to directly run a python function directly from a file by just mentioning the filename followed by the function in a single line.

For example, lets say I have a file 'test.py' with a function 'newfunction()'.

----------test.py-----------

def newfunction():
print 'welcome'


Can I run the newfunction() doing something similar to this.

python test.py newfunction


I know how to import and to call functions etc.Having seen similar commands in django etc (
python manage.py runserver
), I felt there is a way to directly call a function like this. Let me know if something similar is possible.

Answer

I think you should take a look at:

https://docs.djangoproject.com/en/1.9/howto/custom-management-commands/

All those commands like migrate, runserver or dbshell etc. are implemented like how it was described in that link:

Applications can register their own actions with manage.py. To do this, just add a management/commands directory to the application.

Django will register a manage.py command for each Python module in that directory whose name doesn’t begin with an underscore.