Your shell removes the quotes before invoking Python. This is not something Python can control.
Add more quotes:
python test.py "blah='blah'"
which can also be placed anywhere in the argument:
python test.py blah="'blah'"
or you could use backslash escapes:
python test.py blah=\'blah\'
to preserve them. This does depend on the exact shell you are using to run the command.
Demo on bash
:
$ cat test.py
import sys
print sys.argv
$ python test.py blah='blah'
['test.py', 'blah=blah']
$ python test.py "blah='blah'"
['test.py', "blah='blah'"]
$ python test.py blah="'blah'"
['test.py', "blah='blah'"]
$ python test.py blah=\'blah\'
['test.py', "blah='blah'"]