ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #211  
Старый 15.07.2009, 00:39
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Угу, задача решена неверно, использован тип int() вместо float()
 
Ответить с цитированием

  #212  
Старый 15.07.2009, 00:42
Ergoproxy
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме:
9332138

Репутация: 476
Отправить сообщение для Ergoproxy с помощью ICQ
По умолчанию

Цитата:
Сообщение от login999  
Угу, задача решена неверно, использован тип int() вместо float()

Да дальше то всё понятно, да и вообще всё понятно мну тупит пис**
 
Ответить с цитированием

  #213  
Старый 15.07.2009, 10:14
login999
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #214  
Старый 15.07.2009, 12:15
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Если оставлять его необязательным, то увеличивается гибкость программы, так как во время открытия файла возможно использование любой кодировки. По-моему так
 
Ответить с цитированием

  #215  
Старый 15.07.2009, 12:24
login999
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #216  
Старый 15.07.2009, 12:32
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

В том-то и дело, чтобы на эти грабли не наступать, сделали значение опциональным. Во многих случаях не важно с какой кодировкой работать.
# ps. код это ваще пэпэцэ
 
Ответить с цитированием

  #217  
Старый 15.07.2009, 12:41
login999
Постоянный
Регистрация: 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()
......
 
Ответить с цитированием

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

Репутация: 930


По умолчанию

Цитата:
encoding=encoding
эээ?
 
Ответить с цитированием

  #219  
Старый 15.07.2009, 12:50
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от Fata1ex  
эээ?
encoding имеется ввиду кодировка, пусть будет encoding="utf8", если так понятнее
Код:
#with open("bla.txt", encoding="utf8") as inpt:
#some.load(inpt)
 
Ответить с цитированием

  #220  
Старый 15.07.2009, 14:09
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Я знаю, что такoe 'encoding', но зачем писать encoding=encoding, разве это нельзя опустить?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ