Найти - Пользователи
Полная версия: Запись в файл и переносы строк
Начало » Python для новичков » Запись в файл и переносы строк
1 2 3
MadMax
И снова здравствуйте.
Подскажите пожалуйста, как подружить запись в файл и перенос строки?
Пытаюсь написать примитивный блокнот для Symbian 9.4 и столкнулся с данной проблемой. Введенный с телефона текст содержит несколько абзацев (т.е. содержит переносы строк), а записывается все это в виде одной строки. Открывал записанный файл в виндовом блокноте, PSPad'e и Notepad++ - абзацы, которые, как я уже говорил, записываются в одну строку, разделены неизвестным символом - квадратиком.

Меня уже посещает мысль - а не обрабатывать ли построчно текст?
s0rg
'\n' -> ‘\r\n’
MadMax
s0rg
'\n' -> ‘\r\n’
Т.е. мне с помощью string.replace надо будет обработать введенный текст? Я правильно Вас понял?
MadMax
при использовании
text = string.replace(encontent, “\n”, “\r\n”)
результат тот же самый - квадратики(
s0rg
ну string не нужен, строки сами replace умеют:
text = encontent.replace("\n", "\r\n")
Если в кратце то:
http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8
shep
Возможно вы открываете файл в бинарном режиме а надо в текстовом
MadMax
shep
Возможно вы открываете файл в бинарном режиме а надо в текстовом
Увы, открываю в текстовом - filewrite = open(fullpath, ‘w’)
s0rg
Только что проверил вариант с .replace(“\n”, “\r\n”) - файл прекрастно открылся под виндой.
Сделайте hex dump данных до replace и после.
doza_and
надо сначала разобраться что за квадратики
notepad++ нормально показывает файлы и с “\xd\xa” и с “\xa”
Выделите в notepad ваш квадратик и
полагины -> конвертер-> ascii->hex
и посмотрите что получтися.
Еще проще в фаре просто посмотреть в hex что там записалось.
MadMax
Notepad++ говорит, что квадратик - это E280A9
Вот, кстати, кусок функции, пишущей в файл:
filename = appuifw.query(ru("Введите название файла"), "text")
if filename:
fullpath = str(filename) + ".txt"
fullpath = "c:\\" + fullpath
if os.path.exists(fullpath) == 0:
filewrite = open(fullpath, 'w')
content = Text.get()
encontent = content.encode("UTF-8")
filewrite.write(encontent)
filewrite.close()
appuifw.note(ru("Файл " + fullpath + " сохранен!"), "info")
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB