私の Python スクリプトでは、特定の列を text_file から new_text_file に で区切って書き込み,
ます。これは、new_text_file が後で csv_file になるためです。new_text_file には空白行が残っています。これは、ファイルから削除する必要がある書き込みをスキップした行のためです。
エラーが発生するため、.strip()
orを使用できません: 。.rstrip()
AttributeError: '_io.TextIOWrapper' object has no attribute 'strip'
ip_file.write("".join(line for line in ip_file if not line.isspace()))
エラーが発生するため使用できません: UnsupportedOperation: not readable
。
sys
とのインポートも試しre
、このサイトで見つかった他のすべての回答を試しましたが、それでもエラーが返されます。
私のコードは次のとおりです。
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:
#write columns to new text file
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
try:
ip_file.write(", " + new_line[14] + "\n")
except IndexError:
pass
結果の ip_file は次のようになります。
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
上記のスクリプトの最後の行の下、ループ内でコーディングしていました。は私のスクリプトにあり、すべてnew_text_file
がip_file
Python である必要があります。
質問:の空白行を削除する別の方法はありip_file
ますか? または、それらが書き込まれるのを防ぎますか?