前提・実現したいこと
hoge.pngを指定している要素(.hoge .fooと.fuga .baz)を取得したいです。
CSS
1.hoge .foo { 2 color: #white; 3 background: url("hoge.png"); 4} 5.bar { 6 font-size: 16px; 7 background: url(fuga.png); 8} 9.fuga .baz { 10 margin: 0 auto; 11 background: url("hoge.png"); 12 text-align: center; 13}
python
1 2import re 3import codecs 4 5css_file = codecs.open(r'C:\Users\username\Desktop\test.css', 'r', 'shift_jis') 6css_list = css_file.readlines() 7 8re_pattern_img = re.compile("hoge.png") 9re_pattern_start = re.compile("{") 10re_pattern_end = re.compile("}") 11tmp_element = "" 12result = [] 13 14def is_somthing(line): 15 flag = False 16 list_except = ['}', ':'] 17 18 for except_char in list_except: 19 if except_char not in line: 20 flag = True 21 else: 22 flag = False 23 return flag 24 25 return flag 26 27for css_line in css_list: 28 found_img = re_pattern_img.search(css_line) 29 found_start = re_pattern_start.search(css_line) 30 found_end = re_pattern_start.search(css_line) 31 32 if is_somthing(css_line): 33 tmp_element = tmp_element + css_line.replace("\n", "").replace("\r", "") 34 35 if found_start: 36 target_element = tmp_element.replace("{", "").strip() 37 tmp_element = "" 38 39 if found_img: 40 result.append(target_element) 41 42css_file.close() 43
試したこと
上記の通りです。
もう少しましな、やり方があるかと思います。
ご教授いただけましたら、ありがたいです。
補足情報(FW/ツールのバージョンなど)
AnacondaのSpyderで作業しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/13 06:18
退会済みユーザー
2018/04/13 06:35