簡體   English   中英

Python:TypeError:必須為整數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM