替换文件中的字典项
Replace dictionary items in a file
所以,我正在尝试替换文件中的一些字符串,其中有很多字符串。我试过了:
html_char = {
'"' : '"',
"'" : "'",
'&' : '&',
...
}
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()
但我没有成功。它打印 "Writing succeeded!",尽管文件保持不变。
您有 2 个选择:
第一(2 个文件)
html_char = {
'"' : '"',
"'" : "'",
'&' : '&',
}
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 = {
'"' : '"',
"'" : "'",
'&' : '&',
}
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()
此代码将就地更改文件:
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()
所以,我正在尝试替换文件中的一些字符串,其中有很多字符串。我试过了:
html_char = {
'"' : '"',
"'" : "'",
'&' : '&',
...
}
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()
但我没有成功。它打印 "Writing succeeded!",尽管文件保持不变。
您有 2 个选择: 第一(2 个文件)
html_char = {
'"' : '"',
"'" : "'",
'&' : '&',
}
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 = {
'"' : '"',
"'" : "'",
'&' : '&',
}
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()
此代码将就地更改文件:
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()