Фон
Я пишу html книгу о том, как что-то делать в python. Он содержит тонну текста и кода с добавлением вывода. Я хочу иметь возможность изменять мой код python в любое время и иметь один сценарий для пакетного обновления всех файлов HTML с изменениями.
Поскольку у меня будет множество файлов html и тонн python фрагментов, я не могу копировать и вставлять из python в HTML вручную каждый раз, когда я что-то меняю. это будет кошмар.
Редактировать:
Итак, у меня есть два бесплатных файла: файл python, содержащий логи c и HTML файл, который является руководством для этого python кода. Я хотел бы иметь возможность редактировать мои python файлы по своему усмотрению и помечать их так, чтобы мой HTML файл также мог обновляться.
В тот момент, когда я обновляю свой код python, я просто запускаю отдельный сценарий python, который ищет в обоих файлах совпадающие теги и копирует код python между его тегами в HTML между соответствующими тегами. У меня есть много таких тегов в файлах. У меня также есть много таких пар файлов.
это теги ^ tagname и заканчиваются на ^ / tagname
Однако, это работает только для самого кода, а не для вывода кода. Я также хотел бы иметь возможность (при желании) скопировать вывод с тега python в html, чтобы он отображался внутри слегка измененного тега.
Я думал о выводе, тэге и & / тэге.
Конец редактирования
Но получаю вывод из файлов python, чтобы сделать То же самое оказывается довольно сложным.
Мой python код: (testCode.py)
#%%
# ^test
x=1
print(x)
# ^/test
#%%
print("this output I don't care about")
#%%
# ^test2
y=2
print(y)
# ^/test2
Итак, теги test и test2 - это то, что мне нужно разделить код на части.
My html выглядит следующим образом:
<p> Some text explaining the purpose of the python code in test1 </p>
<!--^test-->
<!--^/test-->
<p> some more text explaining about test2</p>
<!--^test2-->
<!--^/test2-->
Код между тегами test1 в файле python копируется между комментариями выше. И то же самое для теста 2.
Вот скриншот того, что у меня есть в моем настоящем html документе. Выглядит отлично, но отсутствует вывод.
Проблема в том, что я не могу понять, чтобы разделить вывод на основе тегов внутри комментариев в коде. Мне нужно использовать эти теги, чтобы разбить вывод на фрагменты, связанные с каждым тегом.
Желаемый вывод
Мой желаемый вывод - строка, такая как:
# ^test
1
# ^/test
this is output I don't care about
# ^test2
2
# ^/test2
Попытка
Я успешно захватил вывод файла в строку, используя:
python_file = 'testCode.py'
process_result = subprocess.run(['python', './' + python_file], capture_output=True, universal_newlines=True)
output = str(process_result.stdout)
, но очевидно, что просто печатает:
1
this is output I don't care about
2
Я использую подпроцесс, потому что эта функция в конечном итоге будет вызываться в al oop со списком python файлов, чтобы обновить вывод с.
Я совершенно ошарашен доступ к соответствующим тегам и вкрапление их.
Возможно, я подхожу к этому неправильно.