2012-03-10 15 views
3

昨日私は約5000個のURLのHTTPステータス応答を検証するための単純なPythonプログラム(以下に示すような単純なプログラム)を書きました。事は、プログラムは400から500までのURLごとに詰まっているようだ。私がプログラミングに本当に慣れていないので、私はどのように問題を追跡するのか分かりません。シンプルなPythonプログラムが詰まった

「a = a + 1」というピースを追加して、止まったときに処理されたURLの数を追跡しました。

問題の原因を確認するにはどうすればよいですか?どうもありがとうございました!私はUbuntuの11.10とPython 2.7

あなたが行われた後、あなたの接続を閉じる必要があり
#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import httplib 

raw_url_list = open ('url.txt', 'r') 
url_list = raw_url_list.readlines() 
result_file = open('result.txt', 'w') 
a = 0 

for url in url_list: 
    url = url.strip()[23:] 
    conn = httplib.HTTPConnection('www.123456789.cn') 
    conn.request('HEAD', url) 
    res = conn.getresponse() 
    result_file.write('http://www.123456789.cn%s, %s, %s \n' % (url, res.status, res.reason)) 
    a = a + 1 
    print a 

raw_url_list.close() 
result_file.close() 
+2

「詰まっている」ことをどのように知っていますか? –

+0

こんにちはイグナシオ、私は端末が立ち往生し、長時間印刷を停止したのを見ました。 – BananaOnTheWall

答えて

3

を使用してい

を。 forループの最後にこれを追加するだけです。

 conn.close() 
+0

ありがとうございます!ところで、プログラマーが誰が原因でプログラムが停止する原因になっているのかを理解する一般的な方法のように、自分自身で問題を見つけ出すために使用できるものはありますか? – BananaOnTheWall

+0

@BananaOnTheWall:通常、プログラムが遅くなると、ある種のメモリリークが発生します。あなたがプログラムのメモリ使用量を監視したなら、あなたはそれが上昇し始めることに気づいたであろう。しかし、ツールに関しては、まあ、私は経験を除いて、一言ごとの道を知らない。 – PearsonArtPhoto

+0

明確な説明をありがとう、あなたの答えは私に多くの時間を節約し、私はそれを感謝する:) – BananaOnTheWall

関連する問題