python – Run function from the command line
python – Run function from the command line
With the -c
(command) argument (assuming your file is named foo.py
):
$ python -c import foo; print foo.hello()
Alternatively, if you dont care about namespace pollution:
$ python -c from foo import *; print hello()
And the middle ground:
$ python -c from foo import hello; print hello()
Just put hello()
somewhere below the function and it will execute when you do python your_file.py
For a neater solution you can use this:
if __name__ == __main__:
hello()
That way the function will only be executed if you run the file, not when you import the file.
python – Run function from the command line
python -c from myfile import hello; hello()
where myfile
must be replaced with the basename of your Python script. (E.g., myfile.py
becomes myfile
).
However, if hello()
is your permanent main entry point in your Python script, then the usual way to do this is as follows:
def hello():
print Hi :)
if __name__ == __main__:
hello()
This allows you to execute the script simply by running python myfile.py
or python -m myfile
.
Some explanation here: __name__
is a special Python variable that holds the name of the module currently being executed, except when the module is started from the command line, in which case it becomes __main__
.