[英]Python: TypeError: an integer is required
我正在嘗試獲取某些文件的md5校驗和並將其寫入臨時文件。
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
某些人因執行“ from os import *”而出現此錯誤,但我沒有這樣做,也沒有在其他模塊上使用import *。
open()
的第三個參數應為整數:
open(name[, mode[, buffering]])
可選的buffering參數指定文件所需的緩沖區大小:0表示未緩沖,1表示行緩沖,任何其他正值表示使用(大約)該大小(以字節為單位)的緩沖區。 負緩沖意味着使用系統默認值,通常對tty設備使用行緩沖,而對於其他文件則使用完全緩沖。 如果省略,則使用系統默認值。 [2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.