Я пытаюсь написать программу Python, которая читает файл и печатает содержимое в виде одной строки, как это будет экранировано в формате C ++. Это потому, что строка будет скопирована из вывода Python и вставлена в программу C ++ (определение строковой переменной C ++).
В основном я хочу преобразовать
<!DOCTYPE html>
<html>
<style>
.card{
max-width: 400px;
min-height: 250px;
background: #02b875;
padding: 30px;
box-sizing: border-box;
color: #FFF;
margin:20px;
box-shadow: 0px 2px 18px -4px rgba(0,0,0,0.75);
}
</style>
<body>
<div class="card">
<h4>The ESP32 Update web page without refresh</h4><br>
<h1>Sensor Value:<span id="ADCValue">0</span></h1><br>
</div>
</body>
<script>
setInterval(function() {
// Call a function repetatively with 0.1 Second interval
getData();
}, 100); //100mSeconds update rate
function getData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("ADCValue").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "readADC", true);
xhttp.send();
}
</script>
</html>
в эту
<!DOCTYPE html>\n<html>\n<style>\n.card{\n max-width: 400px;\n min-height: 250px;\n background: #02b875;\n padding: 30px;\n box-sizing: border-box;\n color: #FFF;\n margin:20px;\n box-shadow: 0px 2px 18px -4px rgba(0,0,0,0.75);\n}\n</style>\n\n<body>\n<div class=\"card\">\n <h4>The ESP32 Update web page without refresh</h4><br>\n <h1>Sensor Value:<span id=\"ADCValue\">0</span></h1><br>\n</div>\n</body>\n\n<script>\nsetInterval(function() {\n // Call a function repetatively with 0.1 Second interval\n getData();\n}, 100); //100mSeconds update rate\n\nfunction getData() {\n var xhttp = new XMLHttpRequest();\n xhttp.onreadystatechange = function() {\n if (this.readyState == 4 && this.status == 200) {\n document.getElementById(\"ADCValue\").innerHTML =\n this.responseText;\n }\n };\n xhttp.open(\"GET\", \"readADC\", true);\n xhttp.send();\n}\n</script>\n</html>
Используя эту программу Python:
if __name__ == '__main__':
with open(<filepath>) as html:
contents = html.read().replace('"', r'\"')
print(contents)
print('')
print(repr(contents))
Я получаю именно то, что хочу, за исключением двойных обратных косых черт, когда "экранирую" двойные кавычки. Я пробовал несколько случайных вещей, но все попытки либо избавиться от обоих обратных слешей, либо вообще не изменять строку.
Я просто хочу добавить один обратный слэш sh перед всеми двойными цитаты в моей строке. Это возможно даже в Python?