Таким образом, приведенный ниже скрипт ищет ключевые слова в файле HTML и записывает значения найденных ключевых слов в файл style.css
:
from collections import OrderedDict
keyword = {
"row": '''
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}'''
#etc
}
with open('index.html', 'r') as file:
with open('style.css', 'a') as newfile:
lines = file.readlines()
for line in lines:
if 'class="' in line:
to_replace = line.split('"')[1].split()
to_replace = OrderedDict.fromkeys(to_replace)
for key in to_replace:
if key in keyword:
newfile.write(keyword[key])
keyword[key] = ''
Файл HTML:
<div class="row">some content</div>
<div class="row">some content2</div> etc
Вывод в style.css
:
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
Примечание: row
записан в формате HTML дважды, но отображается в стилях только один раз.
Как выполнить код каждый раз, когда файлindex.html
сохранено И определенное ключевое слово из словаря найдено (с использованием события watchdog on_modified
) ?а также, как предотвратить дублирование команд CSS в style.css
?