我正在尝试从文本文件中读取文本,读取行,删除包含特定字符串的行(在本例中为“坏”和“顽皮”)。
我写的代码是这样的:
infile = file('./oldfile.txt')
newopen = open('./newfile.txt', 'w')
for line in infile :
if 'bad' in line:
line = line.replace('.' , '')
if 'naughty' in line:
line = line.replace('.', '')
else:
newopen.write(line)
newopen.close()
我是这样写的,但是没有效果。
重要的一件事是,如果文本内容是这样的:
good baby
bad boy
good boy
normal boy
我不希望输出有空行。
所以不喜欢:
good baby
good boy
normal boy
但像这样:
good baby
good boy
normal boy
我应该从上面的代码中编辑什么?
您可以像这样使您的代码更简单且更具可读性
bad_words = ['bad', 'naughty']
with open('oldfile.txt') as oldfile, open('newfile.txt', 'w') as newfile:
for line in oldfile:
if not any(bad_word in line for bad_word in bad_words):
newfile.write(line)
using a 上下文管理器 and any.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)