Question about 'if __name__ == "__main__":'

Amy G amy-g-art at cox.net
Tue Feb 3 02:33:42 EST 2004


I have a program that needs a little help.
Right now the program runs in my crontab.  When it runs, it sets a few
variables based on a query to a MySQL database.  I would like to modify it
so that it can run as it is... or if arguments are supplied, use those
instead of querrying the database.

Will using this statement help me out?

if __name__ == "__main__":

I seem to recall that this returns true if it is run as a script by python,
rather than as a module from another prog.  Since I am going to run this
from a command line - or from my crontab... it will always return true as
far as I can tell.

Any suggestions to help me out.

Ultimately I want something like this pseudocode...

if (no args supplied):
    curs.execute("""SELECT userid FROM users""")
    data = curs.fetchall()
else:
    data = sys.argv[1]

do something with data:
    blah
    blah
    blah

Thanks in advance for your help.





More information about the Python-list mailing list