我只想删除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
答案 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
。
完成写入后,您也应该关闭文件。