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