PyScript

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
здравствуйте, наткнулся на свежую статью: https://www.opennet.ru/opennew... ?num=57125
а оттуда перешёл на: https://pyscript.net/
где сказано:
Все, что нужно сказать… PyScript — это просто HTML, только немного (ну, может быть, намного) более мощный благодаря богатой и доступной экосистеме библиотек Python
так и не понял как это пробовать? подскажите пожалуйста, если можно пошагово, спасибо
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Ну во первых сначала изучи html, там не сложно.
Во вторых pyscript замена JavaScript, а не html, html это разметка, JS это оживление контента.

В принципе на https://pyscript.net нормальная инструкция для начала, создаешь html страничку, подключаешь pyscript, используешь

Вот минимальный пример:
HTML:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>PyScript</title>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
  </head>
  <body>
    <py-script> print('Hello world!') </py-script>
  </body>
</html>
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Вот минимальный пример
спасибо за ответ, похоже в топку его, так как даже такой мини пример открывает секунд за 3-4))
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
но затевалось это, чтобы читать текстовый файл:
Код:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>PyScript</title>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
  </head>
  <body>
<py-script>
print('Hello world!')
f_name =  = r'I:\ТЗ.txt'
with open(f_name, 'r', encoding='utf-8') as f_in:
    f_text = f_in.read()
print(f_text)
</py-script>
</body>
</html>
не подскажите, что за ошибка?
JsException(PythonError: Traceback (most recent call last): File "/lib/python3.10/site-packages/_pyodide/_base.py", line 421, in eval_code CodeRunner( File "/lib/python3.10/site-packages/_pyodide/_base.py", line 237, in __init__ self.ast = next(self._gen) File "/lib/python3.10/site-packages/_pyodide/_base.py", line 141, in _parse_and_compile_gen mod = compile(source, filename, mode, flags | ast.PyCF_ONLY_AST) File "", line 2 f_name = = r'I:\ТЗ.txt' ^ SyntaxError: invalid syntax )
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
1) У тебя 2 равно (f_name = = r'I:\ТЗ.txt')
2) То что он долго открывает, связано с тем, что ты его подключаешь по ссылке - скачай и подключи, будет работать в разы быстрее
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
1) У тебя 2 равно (f_name = = r'I:\ТЗ.txt')
ну да, сорри
2
проверял в Пайчарме:
Код:
f_name = r'i:\\ТЗ.txt'
with open(f_name, 'r', encoding='utf-8') as f_in:
    f_text = f_in.read()
print(f_text)
а в хтмл, ошибка:
JsException(PythonError: Traceback (most recent call last): File "/lib/python3.10/site-packages/_pyodide/_base.py", line 429, in eval_code .run(globals, locals) File "/lib/python3.10/site-packages/_pyodide/_base.py", line 300, in run coroutine = eval(self.code, globals, locals) File "", line 3, in FileNotFoundError: [Errno 44] No such file or directory: 'i:\\\\ТЗ.txt' )
понятно с неё, что не находит файла, но он же есть, проверено Пайчармрм, подскажите, как верно
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
а ты импортни os и выполни os.getcwd(), посмотри где находишься

upd
Я так понимаю, он полностью выполняется на их сервере, чтобы ты мог работать с файлами придется скачать PyScript
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
а ты импортни os и выполни os.getcwd(), посмотри где находишься
ответило в хтмл:
Текущая директория:

/home/pyodide
и что это даёт? как мне указать в f_name = ?? спасибо
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Скрипт выполняется на их сервере, так что не скачивая PyScript думаю никак
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Код:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>PyScript</title>
    <!--
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
     -->
    <script src="pyscript.css"></script>
    <script src="pyscript.js"></script>
</head>
<body>
<py-script>
print('Hello world!')
import os
# вывести текущую директорию - место откуда запущен файл
print('Текущая директория:', os.getcwd())
f_name = r'i:\\ТЗ.txt'
with open(f_name, 'r', encoding='utf-8') as f_in:
    f_text = f_in.read()
print(f_text)
</py-script>
</body>
</html>
опять ошибка:
print('Hello world!') import os # вывести текущую директорию - место откуда запущен файл print('Текущая директория:', os.getcwd()) f_name = r'i:\\ТЗ.txt' with open(f_name, 'r', encoding='utf-8') as f_in: f_text = f_in.read() print(f_text)
в чём я ошибаюсь?
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
и почему на странице:
print('Hello world!')
должно ведь быть:
Hello world!
??
 

Форум IT Специалистов