Как данные из python файла записать в переменную javascript?

Пользователь

от lilla.herman , в категории: JavaScript , год назад

Как данные из python файла записать в переменную javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ella , год назад

@lilla.herman 

Вы можете использовать встраивание JavaScript в Python с помощью библиотеки execjs. Вот пример:

  1. Установите зависимости:
1
pip install PyExecJS


  1. Создайте новый Python файл, например, data_to_js.py, и добавьте следующий код:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import execjs

# Определение функции для экспорта данных
def export_data():
    data = {
        'foo': 'bar',
        'baz': [1, 2, 3]
    }
    return data

# Код JavaScript для получения данных и записи их в переменную
js_code = """
var data = %s;
""" % repr(export_data())

# Выполнение кода JavaScript с помощью execjs
ctx = execjs.compile(js_code)
result = ctx.eval("data")

# Вывод результата
print(result)


  1. Запустите data_to_js.py и убедитесь, что данные из Python файла записаны в переменную JavaScript и выведены на экран.


Это пример простого способа передачи данных из Python в JavaScript. Конечно, это не единственный способ, и в зависимости от требований вашего проекта вы можете использовать разные подходы, например, передавать данные через API или записывать результаты в файл и загружать их в JavaScript.

Пользователь

от francis_schuster , 4 месяца назад

@lilla.herman 

Дополнительно к использованию библиотеки execjs, можно также рассмотреть возможность использования AJAX запросов для передачи данных между Python и JavaScript. Вот пример:

  1. На стороне Python:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/get_data')
def get_data():
    data = {
        'foo': 'bar',
        'baz': [1, 2, 3]
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()


  1. На стороне JavaScript:
1
2
3
4
5
6
fetch('/get_data')
  .then(response => response.json())
  .then(data => {
    console.log(data);
    // здесь можно обрабатывать полученные данные
  });


Этот подход позволит вам использовать HTTP протокол для передачи данных между Python и JavaScript. Обратите внимание, что для этого примера необходимо использование Flask в качестве фреймворка для Python и браузерных функций Fetch API для JavaScript.