mysql_field_name = "promotion_type"
mysql_data_type = "enum"
mysql_field_values = "$,%"
print '\t`%s` %s(\'%s\') COLLATE utf8_unicode_ci NOT NULL,' % (mysql_field_name, mysql_data_type, '\',\''.join(mysql_field_values.split(',')))
`promotion_type` enum('$','%') COLLATE utf8_unicode_ci NOT NULL,
Check your variables to see if they are ok, because the print works without any problem.
My Python version:
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin