I am running a script which takes a text "rAh%19u^l\&G" i.e which contains special characters as seen.
When i pass this text in my script as a argument it runs fine without any error.
example - : ./abc.py <username><pwd>
The above text is basically a password.
Now, when i place my values in a config file and read the above text, the script fails.
*******abc.ini *******
[DEFAULT]
username = rahul
pwd = rAh%19u^l\&G
it says
/bin/sh:M command not found.
Reading the above values with help of config parser
******Below is the program abc.py ******
#! /usr/bin/python
parser = configparser.ConfigParser()
parser.read('abc.ini')
username = parser.get('DEFAULT','username')
pwd = parser.get('DEFAULT','pwd')
p = subprocess.Popen(
"abc.py {0} {1}" .format(username, pwd),
shell=True,
stdout=subprocess.PIPE
)
out, err = p.communicate()
print(out)
I tried searching a lot but found nothing concrete.
So the question is how to read a text that contains special characters in a .ini file.