Python:修改内容后编写文件

时间:2011-12-18 04:56:21

标签: python nltk

我只想删除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 个答案:

答案 0 :(得分:1)

我会打开一个文件来读取,将所有内容读取为列表中的行,关闭文件然后重新打开它以写入:

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)

这是因为我觉得在包含文本(而不是寄存器或其他二进制数据)时重写整个文件更容易。 几乎总是它太慢在文本文件上做得太慢,因为文本文件不像数据库文件那么大。它对你来说可能不是更好的解决方案,但无论如何我都会建议尝试。

答案 1 :(得分:0)

您的文件列表名为low_firm,但您正在迭代all_firm

完成写入后,您也应该关闭文件。