iwqn
@iwqn
Программист-самоучка

Почему переменная не записывается в файл?

Написал программу на питоне которая делает следующее - в файле index.html ищет все style="что то" и вытаскивает их в отдельный css файл, добавляя в теги соответствующее имя класса в css.

import re
import bs4

f = open("index.html","rb")
s = f.read()
s = s.decode('utf-8',errors='ignore')
match = re.findall("style=\"(.*?)\"", s)
match = dict(zip(match, match)).values()
if not(match is None):
    ii = 1
    cs=""
    for ss in match:
        ds="style=\"" + ss + "\""
        newname = "class=\"cl" + str(ii) + "\""
        clasn = "cl" + str(ii)
        soup = bs4.BeautifulSoup(s, "html.parser")
       
        tutu = soup.findAll(style=ss)
        flag=0
        for tgs in tutu:
            clname = tgs.get('class',None)
            
            if(clname==None):
                s = s.replace(ds, newname)
            else:
                clnm=""
                for tgn in clname:
                    clnm=clnm+" "+tgn
                clnm=clnm.strip()
                s = s.replace(" " + ds, "")
                s = s.replace("class=\"" + clnm + "\"", "class=\"" + clnm + " " + clasn + "\"")
                
        ss = ss.replace("; ",";\n")
        cs = cs + "\n.cl" + str(ii) + "{\n" + ss + "\n}"
        ii = ii + 1
f.close()

qq = open("css.css","w")
qq.write(str(cs))
qq.close

f2 = open("index2.html","w")
f2.write(s)
f2.close


Программа неплохо работает но при этом почему то (странно!!!) переменная не записывается в файл css.css. Если эту же переменную вывести через print то на экран выводится css код - все нормально, но в афйл переменная писаться не хочет, он остаётся пустым. При этом файл Index2.html прекрасно записывается

В чем магия?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы