On Thu, 24 Jan 2008 17:17:25 +0200, Donn Ingle wrote: > Given these two examples: > 1. > ./fui.py *.py > 2. > ls *.py | ./fui.py > > How can I capture a list of the arguments? > I need to get all the strings (file or dir names) passed via the normal > command line and any that may come from a pipe. > > There is a third case: > 3. > ls *.jpg | ./fui.py *.png > Where I would be gathering strings from two places. > > I am trying to write a command-line friendly tool that can be used in > traditional gnu/linux ways, otherwise I'd skip the pipe stuff totally. > > I have tried: > 1. pipedIn = sys.stdin.readlines() > Works fine for example 2, but example 1 goes into a 'wait for input' mode > and that's no good. Is there a way to tell when no input is coming from a > pipe at all?
Usually Linux tools that can get the data from command line or files treat a single - as file name special with the meaning of: read from stdin. So the interface if `fui.py` would be: 1. ./fui.py *.a 2. ls *.a | ./fui.py - 3. ls *.a | ./fui.py *.b - Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list