How to make argparse accept "-4^2+5.3*abs(-2-1)/2" string argument?

Thomas Passin list1 at tompassin.net
Tue Jan 24 10:21:51 EST 2023


On 1/24/2023 10:13 AM, Mike Baskin wrote:
> Can you stop please

It's way past time, isn't it!

> Sent from Yahoo Mail for iPhone <https://overview.mail.yahoo.com/?.src=iOS>
> 
> On Tuesday, January 24, 2023, 10:12 AM, Thomas Passin 
> <list1 at tompassin.net> wrote:
> 
>     On 1/23/2023 9:12 PM, Chris Angelico wrote:
>      > On Tue, 24 Jan 2023 at 13:09, Jach Feng <jfong at ms4.hinet.net
>     <mailto:jfong at ms4.hinet.net>> wrote:
>      >>
>      >> Chris Angelico 在 2023年1月24日 星期二清晨5:00:27 [UTC+8] 的信中
>     寫道:
>      >>> On Tue, 24 Jan 2023 at 07:47, Cameron Simpson <c... at cskk.id.au
>     <mailto:c... at cskk.id.au>> wrote:
>      >>>>
>      >>>> But for Jach Feng: the "--" is really expected as something
>     the user
>      >>>> does when they invoke your programme, _explicitly_ saying that
>     what
>      >>>> follows from here is not an argument. So the user is expected
>     to type:
>      >>>>
>      >>>> your_script -x -y -- "-4^2+5.3*abs(-2-1)/2"
>      >>>>
>      >>>> where there are -x and -y options, then end of options, then an
>      >>>> argument, which would look like an option if there wasn't the "--"
>      >>>> argument.
>      >>> And if you DON'T expect the user to enter the "--", then why use
>      >>> argparse? You can just check argv directly to get your arguments.
>      >>>
>      >>> This entire thread is a massive "how can I use X to do Y?" problem.
>      >>>
>      >>> ChrisA
>      >> The '--' requirement makes its usage less instinctive, and
>     handling argv directly makes me loss the benefit of using '-h':-)
>      >
>      > if "-h" in sys.argv: usage()
>      > else: do_stuff_with(sys.argv[1:])
>      >
>      > What is argparse really doing for you?
> 
>     I second this.  "if '-h' in sys.argv:"  is usually what I do.
> 
>     Alternatively, you could use "--arg=" syntax and place your string
>     "-4^2+5.3*abs(-2-1)/2" its right-hand side":
> 
>     infix2postfix [options] "--infix=-4^2+5.3*abs(-2-1)/2"
> 
>     This shouldn't be too hard for a user to work with.  You could scan the
>     argument list for the presence of "--infix=" and display the help
>     message if it isn't there.
> 
> 
>     -- 
>     https://mail.python.org/mailman/listinfo/python-list
>     <https://mail.python.org/mailman/listinfo/python-list>
> 



More information about the Python-list mailing list