Python: запись файла после изменения содержимого - PullRequest
0 голосов
/ 18 декабря 2011

Я просто хотел бы удалить тег HTML, а затем повторно сохранить файл в том же файле .. текстовые файлы имеют теги html ..

import shutil
import os
import nltk

low_firm=['C:/a1.txt','C:/a2.txt']

for aa in low_firm:
    f= open (aa,'r+')
    for bb in f:
        raw = nltk.clean_html(bb)
        raw2=str(raw)
        f.write(low_firm)

, но это не работает!Я получил сообщение ....

IOError: [Errno 0] Error

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Я бы открыл файл для чтения, прочитал все его содержимое в виде строк в списке, закрыл файл и затем снова открыл его, чтобы написать на нем:

for aa in all_firm:
    r = open (aa,'r+')
    lines = r.readlines()
    r.close()
    w = open (aa,'w')
    for bb in lines:
        raw = nltk.clean_html(bb)
        raw2=str(raw)
        w.write(low_firm)

Это потому, что я чувствую, что легче переписать весь файл, когда он содержит текст (вместо регистра или других двоичных данных). Почти всегда это не слишком медленно для текстовых файлов, поскольку текстовые файлы не такие большие, как, скажем, файлы баз данных. Возможно, это не лучшее решение для вас, но я все равно рекомендую попробовать.

0 голосов
/ 18 декабря 2011

Ваш список файлов называется low_firm, но вы перебираете all_firm.

Вы также должны закрыть файл после того, как закончите запись в него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...