html文件中的Python替换缩写

时间:2016-02-01 14:36:08

标签: python loops replace

这个想法是打开一个包含缩写和全字的文本文件。 像2列和n行的表。 然后打开html文件,删除html标志,搜索缩写,替换它们并将它们保存在新的文本文件中。

-------------------------它应该在文件中打开:
RASPUKNUTI,raspuknutivi
topografski u slucaju reflektivni za svaki ...

    import re
    from bs4 import BeautifulSoup
    import codecs
    #--------------------------------unos podataka za pretrazivanje
    dat=open('citaj.txt',"r")
    bs4_objekt=BeautifulSoup(dat,"lxml",from_encoding="UTF-8")
    onlytext=bs4_objekt.text.strip()
    #
    z=open('zamijeni_kratice3.txt','r')
    text=z.read()
    lista_rijeci=text.split('\n')
    for rijec in lista_rijeci:
        odjeli=rijec.split("|")
        samotext=re.sub("\s({0})".format(odjeli[0]),"{0}".format(odjeli[1]),onlytext)
        #sm2=re.sub(r'\s(refl.)','reflektivni',samotext)
    z.close()
    with codecs.open('novi_HAZU.txt','w',encoding='utf8') as f:
        f.write(sm2)
    f.close()

格式中的单词不起作用,并且不显示错误。当我只用一个单词替换时,工作正常:
    #sm2=re.sub(r'\s(refl.)','reflektivni',samotext)
 我在这里循环旋转。有什么建议,想法吗?

2016年2月1日。 19:26 我的目标是获得类似于python解释器的东西,而不是文件中的当前状态:picture 或者最接近的我可以获得原始版本:address

1 个答案:

答案 0 :(得分:0)

我看到的问题是,您的代码在替换后不会保留更改。请尝试:

import re
from bs4 import BeautifulSoup
import codecs
#--------------------------------unos podataka za pretrazivanje
dat=open('citaj.txt',"r")
bs4_objekt=BeautifulSoup(dat,"lxml",from_encoding="UTF-8")
onlytext=bs4_objekt.text #.strip()
#
z=open('zamijeni_kratice3.txt','r')
text=z.read()
lista_rijeci=text.split('\n')
for rijec in lista_rijeci:
    odjeli=rijec.split("|")
    onlytext=re.sub("({0})".format(odjeli[0]),"{0}".format(odjeli[1]),onlytext)
z.close()
with codecs.open('novi_HAZU.txt','w',encoding='utf8') as f:
    f.write(onlytext)
f.close()

不确定这是否符合您的需求(我使用了复制/粘贴,并制作了两个<tr>元素用于说明目的):

enter image description here