My python script requires an argument of type str.
I am using the ArgumentParser
class from argparse
.
I want to pass in a string containing a "$" char in the middle, e.g. "file$102_a.txt"
, but when passed to the script the argument is stored as "file"
cutting off the $102_a.
Is there any way to enable argparse
to do accomodate this?
Running macOS, python v3.7.6
Thank you for your help.
CodePudding user response:
We can pass it with an escape sequence before the dollar sign.
Say test.py is defined as
import sys
print(sys.argv[1])
Then,
$ python test.py "dff\$sdfs"
Would print dff$sdfs
EDIT: As pointed out by user: smac89, if the arguments are enclosed within single quotes ('
), instead of double quotes ("
), it will not split at the dollar sign.
$ python test.py 'dff$sdfs'
Would also print dff$sdfs