2012-03-16 1 views
0

나는 뭔가를 놓치고 있어야합니다.파이썬 디비전에 실패 했습니까?

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

이 0 ()가 나를 보여 그들이 (유효하고 유형) f.tell 총 형태로 출력 및 인쇄하는 것은 그들이 긴 하더군요. 그래서 내가 놓치거나 잊어 버린 잠수에 관해 뭔가가 있어야합니다. 내가 뭘 놓치고 있니?

+0

'/'정수 부문입니다 :) – wim

+0

@wim 만 피연산자 중 어느 것도 경우 부동 소수점 . – Amber

+0

@wim /은 부서입니다. //는 바닥 구분입니다. –

답변

2

것은 0로 내림되는 당신의 몫을 방지하기 위해 중시하는 float 중 하나를 만들어보십시오 :

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

감사합니다, 매력처럼 작동합니다. – Jeremy

2

2.x에서는 정수로 정수를 나눌 때 정수가됩니다. 우선 float을 만드십시오.

+0

새로운 것을 매일 배웁니다. 감사. – Jeremy