Bor*_*rja 10 python string file line
我正在尝试删除包含特定字符串的特定行.
我有一个名为numbers.txt的文件,其中包含以下内容:
peter
tom
tom1
yan
我要删除的是文件中的tom,所以我做了这个函数:
def deleteLine():
fn = 'numbers.txt'
f = open(fn)
output = []
for line in f:
if not "tom" in line:
output.append(line)
f.close()
f = open(fn, 'w')
f.writelines(output)
f.close()
Run Code Online (Sandbox Code Playgroud)
输出是:
彼得
严
正如你所看到的,问题是函数删除tom和tom1,但我不想删除tom1.我想删除汤姆.这是我想要的输出:
peter
tom1
yan
有任何改变功能的想法是为了正确吗?
Mat*_*tic 12
换行:
if not "tom" in line:
Run Code Online (Sandbox Code Playgroud)
至:
if "tom" != line.strip():
Run Code Online (Sandbox Code Playgroud)