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

Chris Angelico rosuav at gmail.com
Wed Jan 25 12:28:33 EST 2023


On Thu, 26 Jan 2023 at 04:25, Jach Feng <jfong at ms4.hinet.net> wrote:
>
> Chris Angelico 在 2023年1月25日 星期三下午1:16:25 [UTC+8] 的信中寫道:
> > On Wed, 25 Jan 2023 at 14:42, Jach Feng <jf... at ms4.hinet.net> wrote:
> > > I was happy working with argparse during implement my script. To save the typing, I used a default equation for testing.
> > >
> > > sample = "-4^2+5.3*abs(-2-1)/2, abs(Abc)*(B+C)/D, (-3) * sqrt(1-(x1/7)*(y1/7)) * sqrt(abs((x0-4.5)/(y0-4)))"
> > > parser = argparse.ArgumentParser(description='Convert infix notation to postfix')
> > > parser.add_argument('infix', nargs='?', default=sample, help="....")
> > >
> > You're still not really using argparse as an argument parser. Why not
> > just do your own -h checking? Stop trying to use argparse for what
> > it's not designed for, and then wondering why it isn't doing what you
> > expect it to magically know.
> >
> > ChrisA
> I just don't get what you mean?
>
> > You're still not really using argparse as an argument parser. Why not just do your own -h checking?
>
> Is a math equation not qualified as a command line "argument"? What criteria do you use when judging the quality of an "argument"?
>

Print out sys.argv and then figure out whether you need an argument
*parser* to *parse* your arguments. From what I'm seeing, you don't.
You just need the arguments.

ChrisA


More information about the Python-list mailing list