Как я могу создать файл CSS в python

Как я могу создать файл CSS в python

# -*- coding: utf-8 -*-
import cssutils

css = u'''/* a comment */
    .chat {
        background: #fff;
        color: white;
    }

    .chat-history {
        height: 100px;
        padding: 8px 24px;
        overflow-y: scroll;
    }
#live-chat header {
    background: #293239;
    border-radius: 5px 5px 0 0;
    color: #fff;
    cursor: pointer;
    padding: 16px 24px;
}
'''
sheet = cssutils.parseString(css)

for rule in sheet:
    if rule.type == rule.STYLE_RULE:
        # find property
        for property in rule.style:
            if property.name == 'color':
                property.value = 'green'
                property.priority = 'IMPORTANT'
                break
        # or simply:
        rule.style['margin'] = '01.0eM' # or: ('1em', 'important')


# cssutils.ser.prefs.resolveVariables == True since 0.9.7b2
print(sheet.cssText)
with open("hello.css", 'w') as f:
    f.write(str(sheet.cssText))

Когда я проверяю свой файл

b'/* a comment */\n.chat {\n    background: #fff;\n    color: green !important;\n    margin: 1em\n    }\n.chat-history {\n    height: 100px;\n    padding: 8px 24px;\n    overflow-y: scroll;\n    margin: 1em\n    }\n#live-chat header {\n    background: #293239;\n    border-radius: 5px 5px 0 0;\n    color: green !important;\n    cursor: pointer;\n    padding: 16px 24px;\n    margin: 1em\n    }'

Я хотел бы создать файл CSS с отступом.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
1 056
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете декодировать cssText в ASCII, используя функцию sheet.cssText.decode('ascii') перед записью в файл CSS.

# -*- coding: utf-8 -*-
import cssutils

css = '''/* a comment */
    .chat {
        background: #fff;
        color: white;
    }

    .chat-history {
        height: 100px;
        padding: 8px 24px;
        overflow-y: scroll;
    }
#live-chat header {
    background: #293239;
    border-radius: 5px 5px 0 0;
    color: #fff;
    cursor: pointer;
    padding: 16px 24px;
}
'''
sheet = cssutils.parseString(css)

for rule in sheet:
    if rule.type == rule.STYLE_RULE:
        # find property
        for property in rule.style:
            if property.name == 'color':
                property.value = 'green'
                property.priority = 'IMPORTANT'
                break
        # or simply:
        rule.style['margin'] = '01.0eM' # or: ('1em', 'important')


# cssutils.ser.prefs.resolveVariables == True since 0.9.7b2
cssTextDecoded = sheet.cssText.decode('ascii')
print(cssTextDecoded)
with open("hello.css", 'w') as f:
    f.write(cssTextDecoded)

Другие вопросы по теме