擅长:python、mysql、java
<p>你的代码没有写出你想要保留的好代码行。在ID匹配的情况下,只有一个“\n”。但ID永远不会匹配,因为您将整数与字符串进行比较,所以它总是空的。因为您的计划是写一个空行来代替未标注的ID,所以当您尝试<code>ID, reason = line.split(" - ")</code>时,将来的运行将失败</p>
<p>相反,您可以在行的前面构建一个匹配的字符串并避免异常。最好先写入一个临时文件,而不要因为编程错误而导致整个文件被删除</p>
<pre><code>import os
ID2 = 12345 #sample ID
unban_id = f"{ID2} - "
with open("yourfile.txt", "r") as f:
lines = r.readlines()
with open("yourfile.txt.tmp", "w") as out:i
f.writelines(line if line.startswith(unban_id) else "\n" for line in lines)
os.rename("yourfile.txt.tmp", "yourfile.txt")
</code></pre>