Как изменить символы при записи набора строк в файл, чтобы символ '\n' не вызывал перевод строки?

Как записать набор строк в файл таким образом, чтобы символ "\n" не создавал перевод строки в файле, а был записан как другой символ, а затем при считывании строк из файла, чтобы они читались так, как были до записи.
  • 12 февраля 2024 г. 21:08
Ответы на вопрос 2
Для изменения символов при записи и чтении набора строк в файл можно использовать концепцию "экранирования". 

При записи строк в файл вы можете заменить символ '\n' на другой символ (например, '@') с помощью метода `replace`:

```python
lines = ["Строка 1\n", "Строка 2\n", "Строка 3\n"]
with open("file.txt", "w") as f:
    for line in lines:
        f.write(line.replace('\n', '@'))
```

При считывании строк из файла вы можете сделать обратную операцию. Сначала считать строки из файла, а затем заменить специальный символ на символ '\n' с помощью метода `replace`:

```python
with open("file.txt", "r") as f:
    lines = f.readlines()
    for i in range(len(lines)):
        lines[i] = lines[i].replace('@', '\n')
```

Теперь переменная `lines` содержит набор строк, какими они были до записи в файл, с символом '\n' вместо специального символа '@'.
Из файла читайте не строки, а поток байтов. 
Но надо определиться с длиной буфера..
Похожие вопросы