Простой сайт можно сделать на flask
(pip install flask
)
У вас уже есть скрипт на питоне, пусть будет myPythonScript.py
. Сейчас он принимает аргументы и запускает по ним логику.
Теперь, чтобы его использовать на сервере у вас 2 пути:
Вы можете не трогать его и запускать через subprocess
:
from subprocess import Popen, PIPE
process = Popen([program, 'myPythonScript.py', parametr1, parametr2], stdout=PIPE, shell=True)
result = process.communicate()[0].decode().strip()
print(result)
Переменные parametr1
и parametr2
заранее создаете
Импортировать его в скрипт сервера и вызывать у него функцию, что обработает параметры:
import myPythonScript
result = myPythonScript.run(parametr1, parametr2)
print(result)
Переменные parametr1
и parametr2
заранее создаете. А в myPythonScript.py
должна быть функция run
, что принимает параметры и возвращает результат
А чтобы ограничить код, который при импорте не должен выполняться, добавляете условие if __name__ == '__main__':
(как у сервера)
Останется, добавить один из вариантов в скрипт сервера и выполнять в index
Пример:
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def index():
args = request.args
return {
'status': 'ok',
'parametr1': args.get('parametr1'),
'parametr2': args.get('parametr2'),
}
if __name__ == '__main__':
app.run()
Перешел по http://127.0.0.1:5000/?parametr1=1¶metr2=2
И сайт вернул {"parametr1":"1","parametr2":"2","status":"ok"}
с заголовком Content-Type: application/json
PS.
По-умолчанию, flask
сортирует ключи json
, чтобы отключить это нужно добавить:
app.config['JSON_SORT_KEYS'] = False