LoD MoD wrote:
I am having trouble extending my option parsing. Any help is appreciated:import sys import getopt import time def tail(file): while 1: where = file.tell() line = file.readline() if not line: time.sleep(1) file.seek(where) else: print line, # already has newline def main(): # parse command line options try:opts, args = getopt.getopt(sys.argv[1:], "hf:", ["help", "filename="])except getopt.error, msg: print msg print "for help use --help" sys.exit(2) # process options for o, a in opts: if o in ("-h", "--help"): print __doc__ sys.exit(0) if o in ("-f", "--filename"): print "Parsing F argument" file = open(filename, 'r') print file# process argumentsfor arg in args: process(arg) # process() is defined elsewhere if __name__ == "__main__": main() Yields this error: localhost:src gsery$ python logTail.py /var/log/system.log Traceback (most recent call last): File "logTail.py", line 52, in <module> main() File "logTail.py", line 49, in main process(arg) # process() is defined elsewhere NameError: global name 'process' is not defined
The trackback tells you what's wrong: you haven't defined 'process'. The comment says it's defined elsewhere, but neither I nor Python can see it! :-) -- http://mail.python.org/mailman/listinfo/python-list
