[Tutor] Read from large text file, parse, find string, print string + line number to second text file.
Scurvy Scott
etanes.rm at gmail.com
Sat Feb 2 05:31:49 CET 2013
> Best practice is to check if your program is being run as a script before
> doing anything. That way you can still import the module for testing or
> similar:
>
>
> def main(mystring, infile, outfile):
> # do stuff here
>
>
> if __name__ == '__main__':
> # Running as a script.
> import sys
> mystring = sys.argv[1]
> infile = sys.argv[2]
> outfile = sys.argv[3]
> main(mystring, infile, outfile)
>
>
>
> Best practice for scripts (not just Python scripts, but *any* script) is to
> provide help when asked. Insert this after the "import sys" line, before you
> start processing:
>
> if '-h' in sys.argv or '--help' in sys.argv:
> print(help_text)
> sys.exit()
>
>
>
> If your argument processing is more complicated that above, you should use
> one of the three argument parsing modules that Python provides:
>
> http://docs.python.org/2/library/getopt.html
> http://docs.python.org/2/library/optparse.html (deprecated -- do not use
> this for new code)
> http://docs.python.org/2/library/argparse.html
>
>
> getopt is (in my opinion) the simplest to get started, but the weakest.
>
> There are also third-party argument parsers that you could use. Here's one
> which I have never used but am intrigued by:
>
> http://docopt.org/
>
>
>
> --
> Steven
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
Steve-
thanks a lot for showing me the if __name__ = main part
I've often wondered how it was used and it didn't make sense until I
saw it in my own code if that makes any sense.
Also appreciate the help on the "instructional" side of things.
One question related to the instruction aspect- does this make sense to you?
If len(sys.argv) == 0:
print "usage: etc etc etc"
Nick, Dave, and Steve, again, you guys are awesome. Thanks for all your help.
Scott
More information about the Tutor
mailing list