0

Apache アクセス ログを読み取り、そこからすべてのソース IP を出力ファイルにプルしようとしています。私はPythonが初めてなので、正しくやっているとは言えませんが、Pythonでなければなりません。

#! python
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
print ip

現時点では、ファイルではなく画面に出力していることはわかっていますが、最初にスクリプトの最初の部分を機能させようとしています。スクリプトを実行しているとき、最初に出現した文字列のみを出力します。つまり、1 つの IP のみを意味します。for ループで実行すると、ファイルの各行を通過すると思いましたが、書いた

4

1 に答える 1

4

インデントを逃した:

#! python
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
        print ip

ファイルに書き込むには、次のようなものを使用できます。

#! python
f = open("ip.txt", "w")
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
        f.write(ip + '\n')
f.close()
于 2013-04-10T09:47:18.470 に答える