Raxus 0 Опубликовано 22 октября, 2014 Ошибка при выполнении байпасса (ScriptError) В командной строке ValueError: unpack sequence too short строка: price,mvar,chType,chCount,chPrice,top=search.split("_") Часть eventа: elif event.startswith("step22_"): search = str(event.replace("step22_ ", "")) price,mvar,chType,chCount,chPrice,top=search.split("_") price,mvar,chType,chCount,chPrice,top=str(price),str(mvar),str(chType),str(chCount),str(chPrice),str(top) if price == "" or mvar == "" or chType == "" or chCount == "" or top == "": return self.error(u"\u0428\u0430\u0433 2.2",u"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u04301") price = str(price.replace(" ", "")) chType = str(chType.replace(" ", "")) chCount = str(chCount.replace(" ", "")) chPrice = str(chPrice.replace(" ", "")) #top = str(top.replace(" ", "")) if not price.isdigit() or not chType.isdigit() or not chCount.isdigit() or not chPrice.isdigit(): return self.error(u"\u0428\u0430\u0433 2.2","\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u04302") Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 23 октября, 2014 Ищешь в классах данную строку, смотришь условие, которое выводит данную ошибку, делаешь вывод. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Raxus 0 Опубликовано 23 октября, 2014 Ищешь в классах данную строку, смотришь условие, которое выводит данную ошибку, делаешь вывод. А причем тут классы. Ошибка в скрипте. И почему то почти однотипный код работает, а этот нет. Я же написал в какой строке ошибка. Я уже этот код и так и сяк, и не хочет подчинятся( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 23 октября, 2014 (изменено) А причем тут классы. Ошибка в скрипте. И почему то почти однотипный код работает, а этот нет. Я же написал в какой строке ошибка. Я уже этот код и так и сяк, и не хочет подчинятся( Скрипты сами по себе не загружаются. Подгрузка идет в определенном классе, а в нем и вывод данной ошибки в консоль. А вообще, проблема в символе "_". На сколько я понял, скрипт парсит определенный файл, в котором считывается команда после "_". Если так, то советую просмотреть данный файл. Изменено 23 октября, 2014 пользователем DiQuero Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Raxus 0 Опубликовано 23 октября, 2014 (изменено) Скрипты сами по себе не загружаются. Подгрузка идет в определенном классе, а в нем и вывод данной ошибки в консоль. А вообще, проблема в символе "_". На сколько я понял, скрипт парсит определенный файл, в котором считывается команда после "_". Если так, то советую просмотреть данный файл. почти правильно. выполняется байпасс step22_ $price _ $type _ " + str(chType) + " _ 1 _ 1 _ $top . Между ними символ "_" в котором интерпретатор считывает переменную после этого символа. Как я говорил, есть похожий код, с такой же строчкой (на которую ругается сервак), которая исправно работает. Изменено 23 октября, 2014 пользователем Raxus Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 23 октября, 2014 (изменено) А причем тут классы. Ошибка в скрипте. И почему то почти однотипный код работает, а этот нет. Я же написал в какой строке ошибка. Я уже этот код и так и сяк, и не хочет подчинятся( Возможно elif event.startswith("step22_"): ну здесь понятно search = str(event.replace("step22_ ", "")) <<- Наверно косяк здесь пробел search = str(event.replace("step22_Лишний пробел который вам все портит", "")) Изменено 23 октября, 2014 пользователем LifeGame32 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Raxus 0 Опубликовано 23 октября, 2014 Возможно elif event.startswith("step22_"): ну здесь понятно search = str(event.replace("step22_ ", "")) <<- Наверно косяк здесь пробел search = str(event.replace("step22_Лишний пробел который вам все портит", "")) Я тоже сначала об этом подумал. И вертел этими пробелами, как только можно. В байпассе тоже стоят пробелы, поэтому переменная считывается после него Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 23 октября, 2014 Я тоже сначала об этом подумал. И вертел этими пробелами, как только можно. В байпассе тоже стоят пробелы, поэтому переменная считывается после него выведите байпас в консоль Я тоже сначала об этом подумал. И вертел этими пробелами, как только можно. В байпассе тоже стоят пробелы, поэтому переменная считывается после него Атак ? elif event.startswith("step22_"): search = str(event.replace("_","")) как то с питоном не очень Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Raxus 0 Опубликовано 23 октября, 2014 Атак ? elif event.startswith("step22_"): search = str(event.replace("_","")) как то с питоном не очень неа, таже ошибка выведите байпас в консоль всмысле? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 23 октября, 2014 неа, таже ошибка всмысле? как там на питоне вроде print "sdfhaldsf" наверно так print event после elif event.startswith("step22_"): разве нельзя писать заместо price,mvar,chType,chCount,chPrice,top=search.split("_") ТАК price,mvar,chType,chCount,chPrice,top=event.split("_") Убрав search = str(event.replace("step22_ ", "")) java намного проще Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 24 октября, 2014 (изменено) Кажется я понял в чем подвох. Смотрите, здесь: search = str(event.replace("step22_ ", "")) price,mvar,chType,chCount,chPrice,top=search.split("_") идет сначала удаление из памяти последовательности символов "step22_ ", а потом вы почему-то разбиваете текст на части через символ "_", которого уже и нет. Думаю стоит сделать что-то на подобии: search = str(event.replace("step22_ ", "#")) price,mvar,chType,chCount,chPrice,top=search.split("#") либо вообще так: price,mvar,chType,chCount,chPrice,top=event.split("step22_ ") Изменено 24 октября, 2014 пользователем DiQuero Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Raxus 0 Опубликовано 24 октября, 2014 Кажется я понял в чем подвох. Смотрите, здесь: search = str(event.replace("step22_ ", "")) price,mvar,chType,chCount,chPrice,top=search.split("_") идет сначала удаление из памяти последовательности символов "step22_ ", а потом вы почему-то разбиваете текст на части через символ "_", которого уже и нет. Думаю стоит сделать что-то на подобии: search = str(event.replace("step22_ ", "#")) price,mvar,chType,chCount,chPrice,top=search.split("#") либо вообще так: price,mvar,chType,chCount,chPrice,top=event.split("step22_ ") та же ошибка по второму варианту. По первому в error.log ошибка inconsistent dedent Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты