我试图删除38行文本,在Python中的.txt文件中遇到特定短语,同时仍然打印文本的其余部分。不识别Python中的循环变量
我目前拥有的代码是
with open('text_file.txt','r') as f:
lines = f.readlines()
for line in lines:
if "certain_phrase" in line:
for num in range(38):
del line
else:
print(line,end='')
不过,我不断收到以下错误:
Traceback (most recent call last):
File "C:\<location of file>\python_program.py", line 6, in <module>
del line
NameError: name 'line' is not defined
没有人有任何建议或线索,为什么它不能识别“行”一旦我把它放在下面的for循环里面?另外,有没有更好的方法来执行这种程序?
即使没有错误,此代码也不会执行你想要的操作 – 2015-04-03 15:09:20
它不知道变量'line'在你的'for循环中num的第二次迭代,因为你刚删除它在以前的迭代中并没有在 – 2015-04-03 15:11:05
之间重新定义它首先建议:读取文件时不需要第2行(由于将整个文件存储在内存中,而不是逐行读取,这会浪费内存)=>在f' – 2015-04-03 15:15:52