Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 5, 2012 21:09:54

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

попробуйте в начале поменять
filewrite = open(fullpath, ‘w’)
на
filewrite = open(fullpath, ‘wt’)



Офлайн

#2 Янв. 6, 2012 04:24:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9977
Репутация: +  857  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

doza_and
попробуйте в начале поменять
filewrite = open(fullpath, ‘w’)
на
filewrite = open(fullpath, ‘wt’)
это одно и то же

надо вывести content на экран



Офлайн

#3 Янв. 6, 2012 09:36:35

MadMax
От:
Зарегистрирован: 2012-01-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

Господа, я вот что заметил: и с реплейсом, и без него - все равно в файле место переноса строки занимает квадратик (E280A9)



Офлайн

#4 Янв. 6, 2012 11:09:45

MadMax
От:
Зарегистрирован: 2012-01-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

py.user.next
надо вывести content на экран
На экран? Ну у меня оно итак на экране.
Скриншоты выложу чуть позднее



Офлайн

#5 Янв. 6, 2012 11:27:34

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

Скрины не нужны - нужен hex чтобы понять что там у вас не так.

Офлайн

#6 Янв. 6, 2012 11:41:40

MadMax
От:
Зарегистрирован: 2012-01-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

s0rg
Скрины не нужны - нужен hex чтобы понять что там у вас не так.
Таким образом получить hex?
def dump(s):
import types
if type(s) == types.StringType:
return dumpString(s)
elif type(s) == types.UnicodeType:
return dumpUnicodeString(s)



Офлайн

#7 Янв. 6, 2012 11:49:59

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

MadMax
Таким образом получить hex?
Понятия не имею что делают dumpString / dumpUnicodeString

Я делаю hex так:
cat somefile | hexdump -C

Под win - вам уже предложили Far, вроде был еще плагин под Notepad++.

Офлайн

#8 Янв. 6, 2012 12:09:57

MadMax
От:
Зарегистрирован: 2012-01-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

Скинул записанный файл на комп, открываю в Нотпаде:

примитивная программа для создания текстовых файлов.
Для начала работы выберите пункт меню Новый/Очистить.
Плагины > Конвертеры > ASCII->HEX:
D0BFD180D0B8D0BCD0B8D182D0B8D0B2
D0BDD0B0D18F20D0BFD180D0BED0B3D1
80D0B0D0BCD0BCD0B020D0B4D0BBD18F
20D181D0BED0B7D0B4D0B0D0BDD0B8D1
8F20D182D0B5D0BAD181D182D0BED0B2
D18BD18520D184D0B0D0B9D0BBD0BED0
B22EE280A9D094D0BBD18F20D0BDD0B0
D187D0B0D0BBD0B020D180D0B0D0B1D0
BED182D18B20D0B2D18BD0B1D0B5D180
D0B8D182D0B520D0BFD183D0BDD0BAD1
8220D0BCD0B5D0BDD18E20D09DD0BED0
B2D18BD0B92FD09ED187D0B8D181D182
D0B8D182D18C2E
Если выделить тот самый квадратик, то при конвертировании в HEX получаем следующее:
E280A9
———————–
Ситуация с кодировками такая:
сам файл *.py сохранен в UTF-8 без BOM, в Notepade++ в нижнем правом углу пометка “ANSI as UTF-8”
В коде имеет место быть конструкция
# coding=utf-8
ru=lambda x: x.decode('utf-8')
Фраза “примитивная программа для создания текстовых файлов.
Для начала работы выберите пункт меню Новый/Очистить.” располагается в поле ввода изначально:
appuifw.app.body = Text = appuifw.Text(ru("PPad - примитивная программа для создания текстовых файлов.\nДля начала работы выберите пункт меню Новый/Очистить."))
Именно этот текст без изменения я сохраняю в файл.



Офлайн

#9 Янв. 6, 2012 12:43:25

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

#coding: utf8

test = u'PPad - примитивная программа для создания текстовых файлов.\nДля начала работы выберите пункт меню Новый/Очистить.'

f = open('test.win', 'w')
f.write(test.encode('utf8').replace('\n','\r\n'))
f.close()

Офлайн

#10 Янв. 6, 2012 14:46:12

MadMax
От:
Зарегистрирован: 2012-01-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл и переносы строк

s0rg, запустил сей скрипт - переносы строк есть, кодировка хромает)

PPad - ïðèìèòèâíàÿ ïðîãðàììà äëÿ ñîçäàíèÿ òåêñòîâûõ ôàéëîâ.
Äëÿ íà÷àëà ðàáîòû âûáåðèòå ïóíêò ìåíþ Íîâûé/Î÷èñòèòü.
Теперь буду прыгать в сторону труъ-кодировки)



Отредактировано (Янв. 6, 2012 14:56:47)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version