Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 30, 2015 00:36:37

Yan01
Зарегистрирован: 2015-10-30
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

Всем доброго времени суток! Вопрос заключается в том, что есть python-скрипт, который парсит rton в jsоn. Прилагаю его.
Так вот, возник вопрос - как сделать так, чтобы он парсил в обратную сторону, то есть, раньше он расшифровывал из rtоn в json, а теперь пусть зашифрует. Сложно ли это сделать (создать python-скрипт, который будет зашифровывать в rton, на основе этого скрипта) и можно ли как-то автоматизировать этот процесс? Также, в гугле об этом я практически ничего не нашёл, увы.

Отредактировано Yan01 (Окт. 30, 2015 08:42:15)

Прикреплённый файлы:
attachment parser.txt (5,3 KБ)

Офлайн

#2 Окт. 30, 2015 01:31:01

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

Собственно нужно понимать что делает данный код и сделать наоборот. В том плане что необратимых действий наверное нет. Но это достаточно объемная работа. Тут парой советом не отделаешься. Т.е. Волшебной переключателя который повернет преобразование в обратную сторону нет.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Окт. 30, 2015 01:38:05

Yan01
Зарегистрирован: 2015-10-30
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

JOHN_16
Собственно нужно понимать что делает данный код и сделать наоборот. В том плане что необратимых действий наверное нет. Но это достаточно объемная работа. Тут парой советом не отделаешься. Т.е. Волшебной переключателя который повернет преобразование в обратную сторону нет.
Я всё понимаю, но что вы можете сказать об этом коде? И как его написать наоборот?
# type 0a
def parse_uint8(fp):
	return struct.unpack('B', fp.read(1))[0]
	
# type 10
def parse_int16(fp):
	return struct.unpack('<h', fp.read(2))[0]
# type 12
def parse_uint16(fp):
	return struct.unpack('<H', fp.read(2))[0]
	
# type 26
def parse_uint32(fp):
	return struct.unpack('<I', fp.read(4))[0]

Офлайн

#4 Окт. 30, 2015 04:02:52

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

unpack принимает бинарную строку и конвертирует их в Python типы данных в соответствии с шаблоном. Обратная операция это struct.pack
смотрите документацию на модуль struct



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Окт. 30, 2015 04:28:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

Yan01
который парсит rton в json
А что это за rton? Формат какой-то?



Офлайн

#6 Окт. 30, 2015 05:41:31

Yan01
Зарегистрирован: 2015-10-30
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

py.user.next
А что это за rton? Формат какой-то?
Зашифрованный JSON. Расшифровывается RTОN по специальным аргументам, указанным в скрипте-парсере. Мне же надо сделать наоборот. Зашифровать JSON в RTОN по специальным аргументам. То есть сделать обратный скрипт на основе существующего.

Офлайн

#7 Окт. 30, 2015 07:03:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

Yan01
Зашифрованный JSON.
А где ты его взял? Похоже на самодельный алгоритм какой-то.



Отредактировано py.user.next (Окт. 30, 2015 07:04:08)

Офлайн

#8 Окт. 30, 2015 07:43:24

Yan01
Зарегистрирован: 2015-10-30
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

py.user.next
А где ты его взял? Похоже на самодельный алгоритм какой-то.
Тем не менее, мне нужно всё равно сделать на основе этого парсера создать обратный.

Офлайн

#9 Окт. 30, 2015 08:47:08

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

Yan01
Ну начинайте, задача то подъемная. Питон не знаете? Берите книгу - начинайте обучение.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Окт. 30, 2015 08:52:07

Yan01
Зарегистрирован: 2015-10-30
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать обратный парсер?

JOHN_16
Ну начинайте, задача то подъемная. Питон не знаете? Берите книгу - начинайте обучение.
Там ничего про обратный парсинг не написано….

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version