[EMAIL PROTECTED] wrote:
> I think I read a suggestion somewhere to wrap the code where a Python
> script starts in a main() function, so one has
>
> def main():
> print "hi"
>
> main()
>
> instead of
>
> print "hi"
>
> What are the advantages of doing this?
Refine this to:
def main():
print "hi"
if __name__ == "__main__":
main()
The advantage of the 'if __name__ ..' statement is that you can import the
script without running the 'main' code, e.g. from your unittest module.
Wrapping the main code in a function allows you to call this function from
your unittests and test it like any other function.
Additionally I do usually add an 'argv' argument to main() which I use
instead of sys.argv, so I can easily test it with different arguments.
--
Benjamin Niemann
Email: pink at odahoda dot de
WWW: http://pink.odahoda.de/
--
http://mail.python.org/mailman/listinfo/python-list