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

  #1  
Старый 04.01.2010, 14:38
Аватар для jasd
jasd
Участник форума
Регистрация: 22.04.2009
Сообщений: 139
Провел на форуме:
262667

Репутация: 5
По умолчанию

еще есть вопрос: что такое django?
 
Ответить с цитированием

  #2  
Старый 04.01.2010, 14:47
Аватар для Forcer
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

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

Цитата:
Сообщение от jasd  
еще есть вопрос: что такое django?
фреймворк для построения веб-приложений на python'e
 
Ответить с цитированием

  #3  
Старый 05.01.2010, 15:34
Аватар для InFlame
InFlame
Участник форума
Регистрация: 27.10.2008
Сообщений: 215
Провел на форуме:
810079

Репутация: 90
По умолчанию

Код на Пёрле:
Код:
my $per = pack('V', 0x71AB9372);
Как сделать аналогично на Питоне?
 
Ответить с цитированием

  #4  
Старый 05.01.2010, 15:38
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Код:
import struct

per = struct.pack("<L", 0x71AB9372)
Дальше в зависимости от того что и как там нужно.
Смотри справку по модулю struct

upd. Кажется так (аналог "V" для PERL, если я не ошибаюсь)

Последний раз редактировалось login999; 05.01.2010 в 15:43..
 
Ответить с цитированием

  #5  
Старый 08.01.2010, 14:47
Аватар для Ice_VeNOm
Ice_VeNOm
Познающий
Регистрация: 05.09.2009
Сообщений: 34
Провел на форуме:
86734

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

Код:
def bash():
    res = urllib.request.urlopen('http://bash.org.ru/random')
    res= str(res.read())
    s=re.search(r"<div>(.*?)<\/div>",res)
    for x in s.groups():
            print(x.decode('cp1251'))
Цитата:
AttributeError: 'str' object has no attribute 'decode'
Как сделать, чтобы выводил русский текст?

python v. 3.1
 
Ответить с цитированием

  #6  
Старый 08.01.2010, 15:03
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от Ice_VeNOm  
Код:
def bash():
    res = urllib.request.urlopen('http://bash.org.ru/random')
    res= str(res.read())
    s=re.search(r"<div>(.*?)<\/div>",res)
    for x in s.groups():
            print(x.decode('cp1251'))


Как сделать, чтобы выводил русский текст?

python v. 3.1
В 3.1. по-другому нужно
попробуй так.
Код:
    res = urllib.request.urlopen('http://bash.org.ru/random')
    res= res.read()
    s=re.search(r"<div>(.*?)<\/div>",res)
    for x in s.groups():
            print(x.decode('cp1251').encode("cp866"))
 
Ответить с цитированием

  #7  
Старый 08.01.2010, 15:08
Аватар для Ice_VeNOm
Ice_VeNOm
Познающий
Регистрация: 05.09.2009
Сообщений: 34
Провел на форуме:
86734

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

Таже самая ошибка
 
Ответить с цитированием

  #8  
Старый 08.01.2010, 15:12
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Код:
    res = urllib.request.urlopen('http://bash.org.ru/random')
    res= res.read().decode('cp1251')
    s=re.search(r"<div>(.*?)<\/div>",res)
    for x in s.groups():
            print(x.encode("cp866"))
А так ?
П.С. Винда ?
 
Ответить с цитированием

  #9  
Старый 08.01.2010, 16:02
Аватар для rushter
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Я делаю так:
Цитата:
# -*- coding: UTF-8 -*-
text = "Текст"
print(text)
Храню текст не в юникоде.Ещё бывает помогает
print text.decode("utf-8","ignore")
Бред,но пока не подводил
В твоём случае можно сделать вот так:
Цитата:
# -*- coding: UTF-8 -*-
import re,urllib
res = urllib.urlopen('http://bash.org.ru/random')
res= res.read().decode('cp1251')
s=re.search(r"<div>(.*?)<\/div>",res)
for x in s.groups():
print(str(x))
Проверил на 2.6,работает.Все эти способы бредовые,но нормальных я не нашёл.
__________________
Blog

Последний раз редактировалось rushter; 08.01.2010 в 16:11..
 
Ответить с цитированием

  #10  
Старый 08.01.2010, 16:11
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от rushter  
Я делаю так:

Бред,но пока не подводил
Там в 3.1 меня напрягает этот bytes тип данных. Мне, как привыкшему к 2.6 сложно выкупить там все эти хитросплетения. Фактически, у bytes есть возможность сделать только .decode(), после которого они превращаются в str в кодировке UTF-8, обьекты типа str можно только encode() в bytes кодировки, указанной при вызове encode(). Т.е после .decode получаем str с возможностью вызова только .encode(), а после encode() получаем bytes с возможностью вызова исключительно .decode() для получения str.
Какая-то блин слишком strict работа с кодировками ИМХО.
Я привык к типу данных unicode в 2.6 который мне уже кажется очень простым и гибким при работе с кодировками.
Хотя я конечно, в экстазе от:
Код:
import sys

def жаба():
    print "Я квакаю".encode(sys.getdefaultencoding())
Судя по отсутствию комментов к этому посту скорее всего все подумали "Какого хрена он это написал???"
Обьясню код от rushter с точки зрения Python 3.1 и Python 2.6:
Код:
# -*- coding: UTF-8 -*-

import re,urllib

res = urllib.urlopen('http://bash.org.ru/random')
res= res.read().decode('cp1251')#Вот здесь вот с точки зрения Python2.6 Идет: .read() - чтение данных, которые имеют тип str(некая абстрактная строка в неизвестной кодировке(для python)),потом идёт перевод этой строки в тип unicode(это для Python едино и понятно). С точки зрения Python3.1 здесь при .read() идёт чтение в этот новый тип bytes, которые представляют собой "просто байты", работать с этим типом как со строковыми данными нельзя, для этого необходимо сделать .decode() из кодировки этих байтов, в результате чего они преображаются в тип str, который являет собой строку в кодировке UTF-8 (фактически, насколько я понял, str - это тот же unicode, просто что все четко прописано)
s=re.search(r"<div>(.*?)<\/div>",res)
for x in s.groups():
print(str(x))#Вот здесь идет вывод собранных данных в консоль, вот здесь то меня и напрягает то, что на печать все пошло нормально, либо Python автоматически переводит весь вывод в кодировку терминала, либо у Ice_VeNOm кодировка терминала - UTF-8. И вот такое преображение в str()оно здесь не нужно нафик (по идее)
Хз короче, путаница одна с этим Python 3.1. Мб кто из опытных обьяснит, что там с этим bytes и str, ато я вроде и понимаю что они это типа аналог unicode из 2.6, и все равно как-то стремно их воспронимать так же =\

Последний раз редактировалось login999; 08.01.2010 в 20:20..
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ