#python #html
#питон #HTML
Вопрос:
Я наткнулся на эти живые обои с изображением ламы(на reddit от u/SirDabbington -), которые закодированы в CSS и JS. Я пытался создать скрипт на python, который принимает имена файлов в качестве входных данных от пользователя, а затем изменяет обои в соответствии с ними. Например
Это html-файл:
lt;!DOCTYPE htmlgt; lt;htmlgt; lt;headgt; lt;meta charset="utf-8"gt; lt;titlegt;Parallax.js | Simple Examplelt;/titlegt; lt;!-- Behavioral Meta Data --gt; lt;meta name="apple-mobile-web-app-capable" content="yes"gt; lt;meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"gt; lt;!-- Styles --gt; lt;link rel="stylesheet" type="text/css" href="./assets/styles.css"/gt; lt;/headgt; lt;bodygt; lt;div id="container" class="container"gt; lt;div id="scene" class="scene"gt; lt;div data-depth="1.00"gt;lt;img src="./assets/images/lig.png"gt;lt;/divgt; lt;div class="sports" data-depth-x="1.30" data-depth-y="1.40"gt;lt;img src="./assets/images/suca.png"gt;lt;/divgt; lt;/divgt; lt;/divgt; lt;!-- Scripts --gt; lt;script src="./parallax.js"gt;lt;/scriptgt; lt;scriptgt; // Pretty simple huh? var scene = document.getElementById('scene'); var parallax = new Parallax(scene); lt;/scriptgt; lt;/bodygt; lt;/htmlgt;
Все, что мне нужно изменить, — это следующие файлы lig.png и suca.png на любое имя файла, введенное пользователем.
lt;div data-depth="1.00"gt;lt;img src="./assets/images/lig.png"gt;lt;/divgt; lt;div class="sports" data-depth-x="1.30" data-depth-y="1.40"gt;lt;img src="./assets/images/suca.png"gt;lt;/divgt;
Я написал этот сценарий:
import re fileName_1 = str(input()) fileName_2 = str(input()) with open('Index.html', 'r ') as f: text = f.read() text = re.sub('lig.png', fileName_1, text) text = re.sub('suca.jpg', fileName_2, text) f.seek(0) f.write(text) f.truncate()
Проблема с этим кодом в том, что он не может быть использован повторно. Если один раз имена изменятся, lig и suca будут удалены, и все, что введет пользователь, будет там. Как мне сделать его многоразовым? Я хотел, чтобы это было основано на графическом интерфейсе, но так как мне 2 месяца для программирования в целом, я придерживаюсь сценария командной строки python atm.