2012-03-16 16 views
0

私は何かが欠けているはずです。Pythonディビジョンが失敗しますか?

f = open(e, "r") 
total = os.path.getsize(e) 
for line in f: 
    progress = f.tell()/total 
    print progress 

これは、彼らが(有効とタイプしている私を見る)(合計とf.tellをOutputing 0 を印刷している)は、彼らが長いと言われます。だから、私が忘れてしまった、忘れてしまった、長い潜水についての何かがなければならない。私は何が欠けていますか?

+0

'/'オペランドのどちらが浮動小数点である場合にのみ、整数の除算:) – wim

+0

@wimです。 – Amber

+0

@wim /は部門です。 //はフロア分割です。 –

答えて

2

0に切り捨てされているから、あなたの商を防ぐために、値の1 floatを作ってみましょう:

progress = float(f.tell())/total 
+0

ありがとうございます、魅力のように動作します。 – Jeremy

2

2.xでは、整数を整数で除算すると整数になります。まずフロートをフロートにします。

+0

新しい何かを毎日学ぶ。ありがとう。 – Jeremy

関連する問題