Dj_*_* 96 5 python regex mod-rewrite text-files
我正在尝试打开一个文本文件,读取它,然后使用正则表达式函数查找要编辑的行,然后修改我的文本文件。然而,发生的情况是,找到行并编辑它们后,我无法再次在文本文件中写入修改后的内容。
remove_commas = re.compile("House")
answer = {}
global line1
with open("\DEMO_houses.txt", "r") as inp:
for line in inp:
if remove_commas.match(line):
line1 = line.replace(',', '')
print line1
with open("DEMO_houses.txt", "w") as document1:
document1.write(line1)
Run Code Online (Sandbox Code Playgroud)
发生的情况是,它只是删除我的文本文件,并只写入修改后的第一行。
文本文件是这样的:
Street : Blue, Red
House: Big, enough
Garden : green, not green
Run Code Online (Sandbox Code Playgroud)
在新的文本文件中我需要类似的内容:
Street : Blue, Red
House: Big enough
Garden : green, not green
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我,我将非常感激。谢谢
您可以尝试以下操作,目前的问题是您仅存储和写入修改行的最终出现,而是最好在内存中创建修改文件的副本,然后写出(见下文)
remove_commas = re.compile("House")
answer = {}
with open("\DEMO_houses.txt", "r") as inp:
new_file_lines = []
for line in inp:
if remove_commas.match(line):
line = line.replace(',', '')
new_file_lines.append(line)
with open("DEMO_houses.txt", "w") as document1:
document1.writelines(new_file_lines)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24490 次 |
| 最近记录: |