argparse
will replace dashes in optional arguments by underscores.
Example
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--test-dash', type=int, default=32)
args = parser.parse_args()
print(args)
The result is Namespace(test_dash=32)