the.theorist wrote: > I was writing a small script the other day with the following CLI > prog [options] [file]* > > I've used getopt to parse out the possible options, so we'll ignore > that part, and assume for the rest of the discussion that args is a > list of file names (if any provided). > > I used this bit of code to detect wether i want stdinput or not. > > if len(args)==0: > args = [ sys.stdin ] > > Now in my main loop I've written: > > for file in args: > for line in open( file ): > #do stuff
You should probably write: if not args: # note that len(args) == 0 is repetitively redundant, over # and over again, in a reiterative manner files = [sys.stdin] else: files = (open(filename) for filename in args) ... for fileobj in files: # using the name 'file' is a bad idea since it # shadows the builtin 'file' for line in fileobj: # do stuff STeVe -- http://mail.python.org/mailman/listinfo/python-list