
15.07.2009, 18:20
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
По-моему, ты написал ровно тоже что и я  и не ответил на главный вопрос!
Похоже, что я непонятно задаю вопрос. Зачем ты пишешь:
Код:
open("bla.txt", encoding=encoding)
open(outfile, "a", encoding=encoding)
Когда можно:
Код:
open("bla.txt")
open(outfile, "a")
я привык его считать отличным от юникода
Unicode Transformation Format 
Последний раз редактировалось Fata1ex; 15.07.2009 в 18:33..
|
|
|

15.07.2009, 18:51
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Fata1ex
По-моему, ты написал ровно тоже что и я  и не ответил на главный вопрос!
Похоже, что я непонятно задаю вопрос. Зачем ты пишешь:
Код:
open("bla.txt", encoding=encoding)
open(outfile, "a", encoding=encoding)
Когда можно:
Код:
open("bla.txt")
open(outfile, "a")
Unicode Transformation Format 
Ы )
Теперь понял )
Я указываю питону кодировку файла, из которой ему перегонять в utf8 (мну кагбэ привык к тому что в файлах не всегда находится латиница), и когда потом работаю с этими данными, то уже 100 % знаю, что они в utf8, и с какой кодировкой мне работать, как пример, то обрати внимание на то то я тебе скинул в ПМ, это контейнер, я указываю кодировку только когда в него что-либо гружу, потом я уже 100 % знаю с какой кодировкой я работаю, и не мучаюсь с этим вопросом, П.С. Сие есть одна из траблов кроссплатформа
Короткий вариант :
Я читаю из файла который в одной кодировке, а другой файл открываю на запись в другой кодировке.
Действует так:
Открываю файл cp1251.txt , указывая питону что он работает с кодировкой cp1251, он перегоняет данные в нем из cp1251 в utf8 (используется для внутреннего представления), потом я открываю файл utf8.txt с правами на добавление в конец файла и указываю что питону нужно писать в него в кодировке utf8, и он пишет туда файл в utf8, то есть перекодирование осуществляется интерпритатором автоматически, и я не изьебываюсь на эту тему
open("bla.txt") открывает файл для чтения/записи в кодировке utf8, мне же нужно записать в другой...
Последний раз редактировалось login999; 15.07.2009 в 18:56..
|
|
|

15.07.2009, 19:01
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
Разве нельзя изменить кодировку без encoding=encoding после открытия файла и записать в нужной?
|
|
|

15.07.2009, 20:03
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Fata1ex
Разве нельзя изменить кодировку без encoding=encoding после открытия файла и записать в нужной?
Можно. Но так удобней.
Смысл лишних телодвижений + отслеживания всех своих действий с ними , если можно просто сделать encoding=encoding ?
|
|
|

15.07.2009, 21:40
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
В той же степени лишними телодвижениями можно назвать encoding=encoding  просто меня удивила конструкция, я не придираюсь )
|
|
|

15.07.2009, 23:11
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Fata1ex
В той же степени лишними телодвижениями можно назвать encoding=encoding  просто меня удивила конструкция, я не придираюсь )
Честно говоря не вижу ничего удивительного в том, чтобы использовать то что упрощает мне жизнь  .Тем более что с кодировками у начинающих постоянно вылазят траблы, для меня то это вообще был жуткий кошмар, на словах все вроде просто, а на деле траблы вылазят почему-то.
Просто вместо того чтобы заниматься перекодированием после загрузки, лучше этот момент затронуть сразу же при загрузке, дабы потом не теряться, особенно напрягает это когда данные в софт загружаются из нескольких источников из одной кодировки а отправляются в другой кодировке, выводить это нужно в терминал/гуй в третьей кодировке, дабы не было проблем, классический пример - спамер, где в него данные грузятся из cp1251, отправляются в utf8, а в консоль/Gui нужно выводить в unicode , это относится к 2.6.2 , попробуй сделать в виндовой консоли три print (в 2.6.2 это имеется ввиду строка вида u"Кириллица", строку в utf8 и строку в cp1251) ,а потом глянь на результат, тогда поймешь из-за чего траблы с кодировкой и откуда такая радость по поводу encoding=encoding. Вот то что я тебе прислал в 2.6 занималось тем что хранило в себе юникод, т.е. я тупо дал ему хэндлер на последовательность/итератор, указал кодировку и он его загрузил в себя, после чего я не парюсь на тему с какой кодировкой я работаю, а теперь представь себе цепочку преобразований/запоминаний, которые необходимы для того чтобы обходиться без таких как, никто не говорит что они незаменимы, они упрощают жизнь, и представь реакцию того, кто только взялся за 2.6 Python и у него в консоли лезут крякозябры, а он не может толком вьехать в причину сего трабла. То что сейчас кажется элементарным тогда мну заставляло чуть ли не в истерике биться, ибо на все вопросы отправляли в гугл, а сам вьехать не мог.
P.S. Есть два нюанса:
1. Я самоучка
2. Ситуация с такими манипуляциями (имеется ввиду ручное перекодирование) хороша только в мелочах, дальше удобнее и лучше юзать единое кодирование для внутреннего представления, которого в 2.6 не было, для чего и придумывалось куча велосипедов, и из-за чего такое появилось в 3.1.
Последний раз редактировалось login999; 15.07.2009 в 23:16..
|
|
|

20.07.2009, 01:37
|
|
Познающий
Регистрация: 28.06.2009
Сообщений: 56
С нами:
8879374
Репутация:
3
|
|
Нужна помощь, скачал python с офф сайта http://www.python.org, и не как ни разобратся, как запустить скрипт подскажите плиз!!!
|
|
|

20.07.2009, 03:31
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Большой джо
Нужна помощь, скачал python с офф сайта http://www.python.org, и не как ни разобратся, как запустить скрипт подскажите плиз!!!
Устанавливаешь Python (куда угодно), потом двойной клик на скрипте, и он запустится (если нет проблем с кодировками, синтаксических ошибок, и ты угадал с версией Python)
|
|
|

20.07.2009, 01:44
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
Читай вики самоучитель.
|
|
|

20.07.2009, 20:04
|
|
Познающий
Регистрация: 28.06.2009
Сообщений: 56
С нами:
8879374
Репутация:
3
|
|
Python 3.1 сойдёт же???)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|