我想獲取某些文件的md5校驗和並將它們寫入臨時文件。Python:TypeError:需要一個整數
import os
import hashlib
PID = str(os.getpid())
manifest = open('/temp/tmp/MANIFEST.'+ PID + '.tmp','w') #e.g. MANIFEST.48938.tmp
for elmt in files_input:
input = open(elmt['file'], "r", 'us-ascii') #'us-ascii' when I ran "file --mime"
manifest.write(hashlib.md5(input.read()).hexdigest())
從此,我感到我還沒有能夠解決一個Python錯誤:
Traceback (most recent call last):
File "etpatch.py", line 131, in <module>
input = open(elmt['file'], "r", 'us-ascii')
TypeError: an integer is required
一些人不得不從這樣的錯誤「從OS進口*」,但我不這樣做我也不會在任何其他模塊上使用導入*。
你從哪裏得到來自'美國ascii'參數的想法?第三個參數應該爲* nix shell提供一個緩衝區大小(或0表示無緩衝,或1表示緩衝行) – 2013-03-18 22:30:57
:文件--mime-encoding –
imagineerThat
2013-03-18 22:32:18
不,我的意思是你爲什麼要把它作爲第三個參數打開? – 2013-03-18 22:33:06