私は初心者プログラマーで、最終的に 3 つの列の内容を取得して新しいテキスト ファイルに書き込む必要がある Python スクリプトを作成しています。スクリプトをテストすると、エラーが発生し続けます:IndexError: list index out of range
プルする必要がある 3 番目の列に適用します。
私のコード:
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")
質問: 列が存在するかどうかを確認し、存在しない場合は無視する別の方法はありますか?
ありがとう!