Python脚本删除除“以外的所有行”;“好话”;
我有一个相反的脚本,效果很好,但需要一个脚本,将删除所有行,除了有“好词”的行,这将是这个脚本的反面,对坏词很好。感谢您的帮助Python脚本删除除“以外的所有行”;“好话”;,python,Python,我有一个相反的脚本,效果很好,但需要一个脚本,将删除所有行,除了有“好词”的行,这将是这个脚本的反面,对坏词很好。感谢您的帮助 bad_words = ['abc:', 'xyz:'] with open('poop.txt') as badfile, open('Clean.txt', 'w') as cleanfile: for line in badfile: clean = True for word in bad_words: if wo
bad_words = ['abc:', 'xyz:']
with open('poop.txt') as badfile, open('Clean.txt', 'w') as cleanfile:
for line in badfile:
clean = True
for word in bad_words:
if word in line:
clean = False
if clean == True:
cleanfile.write(line)
为了只写不好的单词,您需要反转决定是否写的条件。将
True
更改为False
bad_words = ['abc:', 'xyz:']
with open('poop.txt') as badfile, open('Clean.txt', 'w') as cleanfile:
for line in badfile:
clean = True
for word in bad_words:
if word in line:
clean = False
if clean == False:
cleanfile.write(line)
这也可以通过使用
not
运算符来表示。因此,您可以编写if not clean:
使用for语句缩进另一个if,并反转最后一个if
bad_words = ['abc:', 'xyz:']
with open('poop.txt') as badfile, open('Clean.txt', 'w') as cleanfile:
for line in badfile:
clean = True
for word in bad_words:
if word in line:
clean = False
if not clean == True:
cleanfile.write(line)
哟,只需交换干净的布尔值…非常感谢。