Найти - Пользователи
Полная версия: Python and Javascript interconnection
Начало » Python для экспертов » Python and Javascript interconnection
1 2
Levelup
Здравствуйте!

Есть скрипт на питоне, в котором формируется некая переменная.
Подскажите, пожалуйста, каким образом можно ее прочитать с помощью JavaScript'а?
Уже замучился гуглить…

Спасибо.
cutwater
Из данного описания непонятно ровным счетом ничего. Вы бы хоть потрудились рассказать что за JavaScript, серверный, клиентский. Ну и больше подробностей, телепаты в отпусках.
Levelup
Javascript серверный. Там же на сервере лежит питоновский скрипт, который вызывается с некоторыми параметрами и рассчитывает массив, так вот этот массив нужно как-то передать в javascript. Ну либо яваскриптом постоянно проверять значение данной питоновской переменной, и в случае изменения получать и обрабатывать. Как-то так.
Levelup
Пытаюсь сделать ajax запрос. В итоге возвращается не выполненное значение, а весь текст файла test.py

$.post(
‘py/test.py’,{
type: “test-request”
},
AjaxSuccess
);
cutwater
Levelup
Пытаюсь сделать ajax запрос. В итоге возвращается не выполненное значение, а весь текст файла test.py

Что в принципе логично, хотя опять таки не совсем понятно что и где Вы выполняете.

Для того чтобы запустить скрипт вам необходимо запустить процесс python.
Если же вы хотите запускать процесс непосредственно из JavaScript то в том же node.js (Вы ведь его используете, правда?) есть exec, execSimple.

Если же у вас запущены параллельно JS процесс и Python процесс, то для передачи данных между процессами существуют различные механизмы IPC, есть те же UNIX сокеты.
Levelup
У меня локальный веб-сервер на апач, на котором я экспериментирую. Каким образом можно на нем запустить процесс python? Node.js не использую, второй день работаю с javascript, сейчас почитаю о нем. А какой метод позволит наиболее быстро передать большой массив данных? В данном случае рассматриваю одномерный массив uint16, в котором около 5 млн элементов.
cutwater
Levelup
У меня локальный веб-сервер на апач, на котором я экспериментирую. Каким образом можно на нем запустить процесс python? Node.js не использую, второй день работаю с javascript, сейчас почитаю о нем. А какой метод позволит наиболее быстро передать большой массив данных? В данном случае рассматриваю одномерный массив uint16, в котором около 5 млн элементов.

Так…. давате сначала. Желательно максимально в подробностях.
Что за скрипт python, как запускаете.
Что за javasript, откуда запускаете и как.
Тут выясняется есть еще веб-сервер, я готов предположить что может быть все таки JS не серверный а клиентский?

Уважаемый, вам надо читать как правильно задачать вопросы, потому как из ваших крупиц информации непонятно ровным счетом ничего. Вы наивно расчитываете на помощь с таким подходом.
Levelup
Извиняюсь за несодержательный вопрос, думал, что данная задача решается легко, но оказалось, не все так просто. Значит описываю ситуацию целиком. Я занимаюсь разработкой приложения на webgl, то есть пишу контекст на javascript. Все это пока крутится у меня на домашнем веб-сервере апач. Есть скрипт на python, который преобразовывает файл специального формата (fits) в массив значений (интенсивностей цветов). Этот массив, необходимо загнать в текстуру в webgl, то есть как-то его передать в javascript и назначить переменной. Вот, в общих чертах.
cutwater
Как один из вариантов поднимайте ваш python код как wsgi приложение и отдавайте тем же ajax данные.
Либо же отдавайте веб-сервером предварительно сгенерировав текстуру куда-нибудь в файл и отдав JS стороне путь к этому файлу.
Levelup
Спасибо! Буду копать в сторону wsgi. Думаю, что с текстурой вряд ли пройдет, потому как, по моему мнению, текстурный модуль, как таковой, сохранить не получится, а писать в файл весь массив ужасно долго.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB