ファイルから特定のIPアドレスを含む行を削除するために使用したいスクリプトがあります。これは:
for line in fileinput.input(hostsFileLoc,inplace =1):
line = line.strip()
if not hostIP in line:
print line
この種の作品ですが、私が解決しようとしていることが2つあります。
このスクリプトは一致するものをすべて削除するので、前の例では
127.0.0.1
127.0.0.11
127.0.0.111
192.168.0.1「127.0.0.11」の入力でこれを実行すると、「127.0.0.11」と「127.0.0.111」の両方が削除されますが、これは私が望むものではありません。
このスクリプトはcsvファイルも処理しません。上記のリストのように、各行がちょうどで行ごとのIPアドレスであるファイルと、最初のフィールドが問題のあるIPアドレスであるcsvファイルからそれを削除する必要があります。ストリップ関数で正規表現を使用しようとしました
[\s\,]+
が、これは正しく機能せず、残りの行をファイルに再印刷するときに空白行が追加されます。
これは質問することがたくさんあるかもしれませんが、私はまだPythonの素晴らしさを回避する方法を見つけようとしています。