I am writing python script which is generating C++ code based on the data.
I have python variable string
which contains a string which can be composed
of characters like "
or newlines.
What is the best way to escape this string for code generation?
The way I use is based on the observation that C++ strings basically obey the same rules regarding charactes and escaping as Javascript/JSON string.
Python since version 2.6 has a built-in JSON library which can serialize Python data into JSON. Therefore, the code is, assuming we don't need enclosing quotes, just as follows:
import json
string_for_printing = json.dumps(original_string).strip('"')