Вам необходимо настроить веб-сервер. Flask может использоваться для этой цели. Таким образом, вы можете создать следующий скрипт:
from datetime import datetime
from flask import Flask, redirect, request
app = Flask(__name__)
@app.route('/')
def index():
with open('index.html') as fh:
return fh.read()
@app.route('/update')
def update_file():
with open('data.txt', 'w') as fh:
fh.write(datetime.now().strftime('%H:%M:%S'))
return redirect(request.referrer)
@app.route('/')
предоставляет вашу целевую страницу, которая хранится в index.html
:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example</title>
</head>
<body>
<form action="/update">
<input type="submit">
</form>
</body>
</html>
Эта страница HTML содержит отправку кнопка, которая относится к /update
. В приведенном выше сценарии веб-сервера этот маршрут зарегистрирован с помощью функции update_file
. Здесь вы можете реализовать свою логику c, чтобы реагировать на нажатие кнопки (в примере она записывает текущее время в data.txt
на сервере ). Поскольку скрипт работает на сервере, а ваш браузер работает на клиенте, он работает только в том случае, если на самом деле это один и тот же компьютер, т.е. если вы используете его локально в качестве интерфейса для своих программ. Если вы хотите разделить сервер и клиент, вам нужно ввести способ передачи данных.
Теперь вы можете запустить веб-сервер следующим образом:
$ FLASK_APP=script.py flask run
[...]
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Теперь вы можете перемещаться на адрес, указанный выше, и вы будете на целевой странице. Нажатие на кнопку обновляет файл:
$ tree .
.
├── data.txt <-- This file gets updated.
├── index.html
├── __pycache__
│ └── script.cpython-38.pyc
└── script.py