0

Как удалить все скобочки в файле? Код читаю вроде все верно но не работает

def clear_strings(self):
        with open('Val.h', "r") as f:
            new_f = f.readlines()
            with open('Val.h', "r+") as new_new_F:
                for line in new_f:
                    for new_line in new_new_F:
                        if '),' in line:
                            print('replacing')
                            new_line.replace('),','')
Kromster
  • 13,809

2 Answers2

1

Можно использовать регулярные выражение при помощи импорта re и функции sub

import re
with open('file1.txt') as g:
    new = g.read()
    v = re.sub('[()]', "", new)
    print(new, '\n', v)
with open('file1.txt', 'w') as b:
    b.write(v)

вывод

(Уже сентябрь.)  
Осень )тихонько вступает( в свои права. )
Дерев(ья, кусты, трава – )все меняет свое зеленое одеяние,( 
переодеваясь в пестрые наряды.) 

Уже сентябрь.  
Осень тихонько вступает в свои права. 
Деревья, кусты, трава – все меняет свое зеленое одеяние, 
переодеваясь в пестрые наряды. 
Twiss
  • 6,393
0

В вашем коде нет записи значения после замены. Т.е. замена производится, но никуда не записывается. Простенький пример кода с перезаписью в переменную:

def clear_strings(self):
    with open('Val.h', "r") as f:
        q = ''
        new_f = f.readlines()
        for line in new_f:
            q += line.replace('),','')
    print q

в переменной q будет храниться уже замененный текст