Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #7389

Re: Question About Command line arguments

Date 2011-06-10 18:41 +0100
From MRAB <python@mrabarnett.plus.com>
Subject Re: Question About Command line arguments
References <BANLkTi==QHd+5C=xf+2Re1Mh4V6Hk972hg@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.89.1307727680.11593.python-list@python.org> (permalink)

Show all headers | View raw


On 10/06/2011 18:21, Mark Phillips wrote:
> I have a script that processes command line arguments
>
> def main(argv=None):
>      syslog.syslog("Sparkler stared processing")
>      if argv is None:
>          argv = sys.argv
>      if len(argv) != 2:
>          syslog.syslog(usage())
>      else:
>          r = parseMsg(sys.argv[1])
>          syslog.syslog(r)
>      return 0
>
> if __name__ == "__main__":
>      sys.exit(main())
>
> When I run "python myscript fred" it works as expected - the argument
> fred is processed in parseMsg as sys.arv[1]
>
> When I run "echo fred | python myscript" the script thinks there are no
> arguments, so it prints out the usage statement.
>
> Is the problem with the echo command, or how I wrote my script?
>
In the second case, there aren't any arguments. The echo command is
writing "fred" to its standard output, which is attached to your
script's standard input.

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Question About Command line arguments MRAB <python@mrabarnett.plus.com> - 2011-06-10 18:41 +0100

csiph-web