Voglio dividere il contenuto di un file CSS in blocchi di codice e inserire ogni blocco di codice in un elenco usando Python 3.5.Come posso dividere i blocchi di codice in un elenco?
Quindi, dato questo CSS:
h1 {color: #333, background-color: transparent}
h2 {
font-weight:300
}
h3
{
font-weight: 200
}
possiamo dire chiaramente che esso ha più stili e/o tipi di indentazione significato della CSS deve essere riordinato per ottenere questo:
h1 {
color: #333,background-color: transparent;
}
h2 {
font-weight: 300;
}
h3 {
font-weight: 200;
}
Come posso usare Python per leggere una stringa ordinata di CSS e spingere ogni blocco di codice al suo interno in una lista Python come questa:
styles = [
"h1 {\n color: #333,background-color: transparent;\n}",
"h2 {\n font-weight: 300;\n}",
"h3 {\n font-weight: 200;\n}"
]
Vorrei anche sottolineare che RegExp non è proprio il mio forte e non sono del tutto sicuro di cosa usare RegEx, ma stavo pensando che potrei usare RegExp [].split(...);
insieme per raggiungere questo obiettivo.
Probabilmente utilizzare anche RegExp per eliminare la necessità di riordinare il foglio di stile prima di dividere i blocchi di codice.
NOTA: ho controllato questa domanda this ma sfortunatamente non è stato di aiuto.
Eventuali duplicati di [Qual è il modo divinatorio per implementare un css parser/sostituto] (http://stackoverflow.com/questions/11592347/what-is-the-pythonic-way-to-implement-a-css-parser-replacer) – pvg
@pvg No, sfortunatamente questo non ha risolto il mio problema. –
@Mango Non è necessario implementare un parser da soli, è possibile utilizzare una piccola libreria. L'ho delineato nella mia risposta qui sotto. – oxalorg