替换fi中的词典项

2024-04-19 23:38:53 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我试图替换文件中的一些字符串,其中有很多字符串。我试过:

html_char = {
        '"' : '&quot',
        "'" : "'",
        '&' : '&',
...
}

def parser():
        f = open("file.txt", "w+")
        line = f.read()
        for key, val in html_char.items():
                line = line.replace(key,val)
        print("Writing succeded!")
        f.close()

parser()

但我没有成功。它打印出“写作成功!”,尽管文件保持不变。你知道吗


Tags: 文件key字符串txtparserdefhtmlline
2条回答

此代码将更改文件:

def parser(filename):
    with open(filename, "r+") as f:
        lines = []
        for line in f:
            lines.append(''.join([html_char.get(i, i) for i in line]))
        f.seek(0)
        f.writelines(lines)
        f.truncate()

您有两种选择: 第一个(2个文件)

html_char = {
        '"' : '&quot',
        "'" : "'",
        '&' : '&',
}

def parser():
        f = open("file.txt", "r")
        f2 = open("file2.txt","w")
        line = f.read()
        for key, val in html_char.items():
            line = line.replace(key,val)
        f2.write(line)
        f.close()
        print("Writing succeded!")


parser()

第二:(1个文件)

html_char = {
        '"' : '&quot',
        "'" : "'",
        '&' : '&',
}

def parser():
        f = open("file.txt", "r")
        line = f.read()
        for key, val in html_char.items():
            line = line.replace(key,val)
        print("Writing succeded!")
        f.close()
        f = open("file.txt", "w")

        f.write(line)
        f.close()


parser()

相关问题 更多 >