ФорумПрограммированиеPython → Вопрос по спискам

Вопрос по спискам

  • lowfuck

    Сообщения: 20 Репутация: N Группа: Кто попало

    Spritz 8 марта 2011 г. 14:40

    Не могу понять, почему если я делаю такое присваивание:

    a = [].append('some_item')

    a становиться None. Почему так, и как сделать чтоб было pythonic?

    P.S. В контексте того, что я делаю нужно именно так, а не:

    a = ['some_item']
  • vasa_c

    Сообщения: 3129 Репутация: N Группа: в ухо

    Spritz 9 марта 2011 г. 3:32, спустя 12 часов 52 минуты 12 секунд

    потому что метод append() ничего не возвращает
  • adw0rd

    Сообщения: 22914 Репутация: N Группа: в ухо

    Spritz 9 марта 2011 г. 3:37, спустя 5 минут

    lowfuck, вы бы лучше контекст показали :)
    adw/0
  • lowfuck

    Сообщения: 20 Репутация: N Группа: Кто попало

    Spritz 14 марта 2011 г. 17:15, спустя 5 дней 12 часов 37 минут

    Ту проблему решил, спасибо.

    Появился ещё один квесшон, дабы не плодить топики, спрошу здесь.
    Пытаюсь написать бота для одного приложения вконтакте. Всё вроде идёт хорошо, но сервер возвращает мне байт-строку вот такого содержания:
    b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03}\x8f\xb1\x0e\x820\x10\x86gy\x8a\xda\x85\xa9"\x0e\xeaP\xca\xe6\x13\xe8l\x08=\xcc%\xed\x1di\x0b\xd1\xb7\x17\x02\x93\tn\x7f\xfe|\xffw9]\xbf\xbd\x13#\x84\x88L\x95,\x0fG)\x80Z\xb6H\xafJ>\xee7u\x95\xb5\xc92m\x9b\xd4\x98l\xa7\x03\xc4\xc1%S\xeabMS\xe7\x99\xe0c.\xe7\x93.\x968u{\xa5\x04\xb1\x98g\x02I\xe4<\x84\x1e\xb8w\x90\x0b\xa5f\xd1/\xd08\xf7\x1f\x98\r\x81;L[\x06\xcf\x16\\D\xb2\xe0y\x8b\xe9\x02\x02\xd9\xf8D\x1a1\x81\xdd\xc2\xd0B\x13[\x1eh=\xa6\x8b\xe5\xff/\x1b\x07X\xdd/\x01\x00\x00'[/python]
    И вот с такими заголовками:
    Server:nginx/0.7.65
    Date:Mon, 14 Mar 2011 20:43:09 GMT
    Content-Type:text/html
    Transfer-Encoding:chunked
    Connection:close
    X-Powered-By:PHP/5.3.3-1ubuntu9.3
    Content-Encoding:gzip

    Так вот, чё мне с этой строкой делать-то? Обычным способом раскодировать её не получается. Поможете?
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 14 марта 2011 г. 17:38, спустя 23 минуты 37 секунд

    Не отправляй заголовки что ты поддерживаешь сжатие это раз, попробуй декодировать как юникод это два
  • phpdude

    Сообщения: 26639 Репутация: N Группа: в ухо

    Spritz 14 марта 2011 г. 17:56, спустя 17 минут 44 секунды

    lolbla
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 14 марта 2011 г. 18:07, спустя 10 минут 33 секунды

    создай у себя на сервере файл test.shtml с текстом:
    <pre><!–# printenv –></pre>


    и затем сделай запрос на него своим ботом а ответ проанализируй, вроде заголовок отвечающий за поддержку сжатия называется Accept-Encoding
  • lowfuck

    Сообщения: 20 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 1:55, спустя 7 часов 48 минут 26 секунд

    Да, не послал Accept-Encoding всё норм пришло. Тока при декодинге байт-строки почему-то выходит пустая строка oO.
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 4:03, спустя 2 часа 8 минут 15 секунд


    Да, не послал Accept-Encoding всё норм пришло. Тока при декодинге байт-строки почему-то выходит пустая строка oO.


    значит надо её распаковать
    Спустя 52 сек.
    или попробуй отправить Accept-Charset другой
  • lowfuck

    Сообщения: 20 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 10:13, спустя 6 часов 9 минут 34 секунды

    Ты не понял. Приходит вот такая байт-строка:
    b'<?xml version="1.0" encoding="UTF-8"?>\n\n<data>\n\t<result>1</result>\n\t<money>782</money>\n\t<!– no data in \'ourpeople\' –>\n\t<!– no data in \'allpeople\' –>\n\t<!– no data in \'ourprofit\' –>\n\t<!– no data in \'modelsindemo\' –>\n\t<!– no data in \'friends_invited\' –>\n\t<!– no data in \'ideascount\' –>\n</data>\n'

    Что мне сделать, чтоб превратить её в обычную строку?
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 12:20, спустя 2 часа 7 минут 3 секунды

    result = subject.replace(search, replace)

    b' и \n' удали, \' замени на ', \n и \t удали

Пожалуйста, авторизуйтесь, чтобы написать комментарий!