Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.07.2009, 00:39
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Угу, задача решена неверно, использован тип int() вместо float()
|
|
|

15.07.2009, 00:42
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме: 9332138
Репутация:
476
|
|
Сообщение от login999
Угу, задача решена неверно, использован тип int() вместо float()
Да дальше то всё понятно, да и вообще всё понятно мну тупит пис** 
|
|
|

15.07.2009, 10:14
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
прет py3k
перевод файла из одной кодировки в другую в две строки
Код:
with open ("utf8.txt", encoding="utf8") as inp, open("cp1251.txt", "w", encoding="cp1251") as out:
out.write(inp.read())
Прёт возможность указания кодировки файла сразу при его открытии, преобразование же происходит автоматом, только лично я сделал бы параметр encoding не опциональным, а обязательным
Последний раз редактировалось login999; 15.07.2009 в 10:17..
|
|
|

15.07.2009, 12:15
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Если оставлять его необязательным, то увеличивается гибкость программы, так как во время открытия файла возможно использование любой кодировки. По-моему так 
|
|
|

15.07.2009, 12:24
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Fata1ex
Если оставлять его необязательным, то увеличивается гибкость программы, так как во время открытия файла возможно использование любой кодировки. По-моему так 
Кодировки есть грабли, через которые проходят очень многоие (я в свое время очень конкретно намучился с этим, да и не один я), просто за счет того чтобы сделать его обязательным (имется ввиду убрать значение по умолчанию), то гибкость не страдает, так как можно выбрать любую, зато отпадает куча вопросов и проблем на тему "А почему у меня крякозябры показывает", айс в py3k то что для внутреннего представления выбран юникод, в 2.6 я делал всем загрузкам из файлов вручную перекодирование в юникод, получалась конкретная путаница
Чтоб не быть голословным:
Код:
......
def load(self, data, data_encoding=None):
if data_encoding is None:
data_encoding = self.defaultencoding
self.Lock.acquire()
for line in data:
self.Container.append(line.translate(None, "\r\n").decode(data_encoding, "replace"))
if self.StringVar is not None:
try:
self.StringVar.set(len(self.Container))
except RuntimeError:
pass
self.Lock.release()
......
def dump(self, outfile, data_encoding=None, remove=False):
if data_encoding is None:
data_encoding = self.defaultencoding
self.Lock.acquire()
with open(outfile, "a") as out:
for item in self.Container:
out.write("{0}\n".format(item.encode(data_encoding, "replace")))
if remove:
self.Container = []
if self.StringVar is not None:
try:
self.StringVar.set(len(self.Container))
except RuntimeError:
pass
self.Lock.release()
......
Последний раз редактировалось login999; 15.07.2009 в 12:27..
|
|
|

15.07.2009, 12:32
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
В том-то и дело, чтобы на эти грабли не наступать, сделали значение опциональным. Во многих случаях не важно с какой кодировкой работать.
# ps. код это ваще пэпэцэ 
|
|
|

15.07.2009, 12:41
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Fata1ex
В том-то и дело, чтобы на эти грабли не наступать, сделали значение опциональным. Во многих случаях не важно с какой кодировкой работать.
# ps. код это ваще пэпэцэ 
Вот так это выглядит в py3k (от StringVar отказался, так как встроил Thread-safe счетчики в гуй  )
Код:
......
#Сюда нужно отправлять что типа такого
#with open("bla.txt", encoding=encoding) as inpt:
#some.load(inpt)
#Атрибут загрузки из последовательности(или итератора)
def load(self, data):
self.__Lock.acquire()
for line in data:
self.__Container.append(line.strip("\r\n"))
self.__Lock.release()
......
#Атрибут дампа всех элементов контейнера в файл
def dump(self, outfile, encoding):
self.__Lock.acquire()
with open(outfile, "a", encoding=encoding) as out:
for item in self.__Container:
out.write("{0}\n".format(item))
self.__Lock.release()
......
|
|
|

15.07.2009, 12:47
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
|
|
|

15.07.2009, 12:50
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Fata1ex
эээ?
encoding имеется ввиду кодировка, пусть будет encoding="utf8", если так понятнее
Код:
#with open("bla.txt", encoding="utf8") as inpt:
#some.load(inpt)
|
|
|

15.07.2009, 14:09
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Я знаю, что такoe 'encoding', но зачем писать encoding=encoding, разве это нельзя опустить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|