我是一名编写Python脚本的初学者程序员,他最终需要将三列内容拉出来并写入新的文本文件。在测试脚本时,我不断收到错误:IndexError: list index out of range
应用于我需要拖动的第三列。Python检查列中是否存在列表
我的代码:
for ip in open("list.txt"):
with open(ip.strip()+".txt", "a") as ip_file:
for line in open("data.txt"):
new_line = line.split(" ")
if "blocked" in new_line:
if "src="+ip.strip() in new_line:
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
ip_file.write(", " + new_line[14] + "\n")
在少数线路的data.txt
,没有15列。我已经尝试了几种方法,以避免该错误消息,但我仍然得到错误:
if "src="+ip.strip() in new_line:
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
if new_line[14] is None:
pass
else:
ip_file.write(", " + new_line[14] + "\n")
和
if "src="+ip.strip() in new_line:
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
if not new_line[14]:
pass
else:
ip_file.write(", " + new_line[14] + "\n")
问:是否有另一种方式来检查柱存在,忽略,如果不不?
谢谢!
在Python中这是一种常见的做法,只是简单地尝试一些东西,而不是首先检查,如果它是可能的/现有的(EAFP样式(“它更容易请求宽恕比权限”)) –