2012-03-16 97 views
0

我一定錯過了一些東西。Python分區失敗?

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

這是印刷0 Outputing總與f.tell()告訴我它們是有效的和類型()告訴我,他們都長。所以必須有一些關於潛水的事情,我已經遺漏/遺忘了。我錯過了什麼?

+0

'/'是整數除法:)只有 – wim 2012-03-16 05:49:24

+0

@wim如果沒有操作數是浮點。 – Amber 2012-03-16 05:51:43

+0

@wim /是除法。 //是地板分區。 – 2012-03-16 06:48:52

回答

2

嘗試使值float之一,以防止你的智商被四捨五入到0

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

謝謝,作品像魅力。 – Jeremy 2012-03-16 06:44:26

2

在2.x中,將整數除以整數會得到整數。首先做一個浮動。

+0

每天學點新東西。謝謝。 – Jeremy 2012-03-16 06:44:17