Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TypeError: can't use a string pattern 
V
    Опции темы
GrayCardinal
Дата 4.6.2009, 13:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



Переписываю шнягу travianrmod на питон. Дабы сравнить этих монстров (ruby VS python). Когда кодил руби-вариант, не возникло НИ ОДНОЙ проблемы.
Самое начало на питоне. (сельф уже доконал, но... перетерпим).

Код


import urllib.request
import re

class Travian:
    def __init__():
        pass
    
    def loginPage(self):
        data = urllib.request.urlopen("http://" + self.server)
        data = data.read()
        return data

    def loginForm(self):
        lp = self.loginPage()
        print(re.search("<form.*?<\/form>", lp, re.M))

    def login(self, user, password):
        lf = self.loginForm()
        pass

class Main(Travian):
    def __init__(self):
        self.server = "speed.travian.ru"

    def start(self):
        self.login("", "")

        
m = Main()
m.start()


Всё бы ничего, но этот код выдает
Цитата

Traceback (most recent call last):
  File "./main.py", line 31, in <module>
    m.start()
  File "./main.py", line 27, in start
    self.login("", "")
  File "./main.py", line 19, in login
    lf = self.loginForm()
  File "./main.py", line 16, in loginForm
    print(re.search("<form.*?<\/form>", lp, re.M))
  File "/opt/python3//lib/python3.0/re.py", line 157, in search
    return _compile(pattern, flags).search(string)
TypeError: can't use a string pattern on a bytes-like object

Питон - 3.0, ОС openSUSE.
Как побороть эту вещь ? 


Это сообщение отредактировал(а) GrayCardinal - 4.6.2009, 13:43


--------------------
PM MAIL WWW   Вверх
Daevaorn
Дата 4.6.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(GrayCardinal @  4.6.2009,  14:41 Найти цитируемый пост)
Как побороть эту вещь ? 

Перестать подсовывать байтовую строку туда где нужна уникодная (т.е. обычная в 3.0 строка).
Цитата(GrayCardinal @  4.6.2009,  14:41 Найти цитируемый пост)
Когда кодил руби-вариант, не возникло НИ ОДНОЙ проблемы.

Ни единого разрыва! smile 
PM MAIL WWW   Вверх
GrayCardinal
Дата 4.6.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



Daevaorn
Чего делать-то?  smile 


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 4.6.2009, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



Daevaorn
Низачёт  smile 


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 4.6.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



Сработал метод "просто спроси на другом форуме". А Жаль :(


--------------------
PM MAIL WWW   Вверх
Daevaorn
Дата 5.6.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(GrayCardinal @  4.6.2009,  16:47 Найти цитируемый пост)
Сработал метод "просто спроси на другом форуме". А Жаль :( 

Ещё быстрее сработал бы метод "почитай документацию".

Добавлено через 2 минуты и 43 секунды
Да и ответили там также как и тут smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.