0
Pythonで一般的なモジュール/関数(getimageinfo.py)と思われるエラーが発生しました。画像サイズをダウンロードせずに取得したいただし、次のエラーに実行している:Python getimageinfo.py:UnboundLocalError:割り当て前にローカル変数 'w'が参照されています
エラーコードのこのセクションから来ているようだ>>> import getimageinfo
>>> import urllib2
>>> imgdata = urllib2.urlopen('https://cdn.programiz.com/sites/tutorial2program/files/python-modules.jpg')
>>> image_type,width,height = getimageinfo.getImageInfo(imgdata)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "getimageinfo.py", line 61, in getImageInfo
width = int(w)
UnboundLocalError: local variable 'w' referenced before assignment
>>>
:
# handle JPEGs
elif (size >= 2) and data.startswith('\377\330'):
content_type = 'image/jpeg'
jpeg = StringIO.StringIO(data)
jpeg.read(2)
b = jpeg.read(1)
try:
while (b and ord(b) != 0xDA):
while (ord(b) != 0xFF): b = jpeg.read(1)
while (ord(b) == 0xFF): b = jpeg.read(1)
if (ord(b) >= 0xC0 and ord(b) <= 0xC3):
jpeg.read(3)
h, w = struct.unpack(">HH", jpeg.read(4))
break
else:
jpeg.read(int(struct.unpack(">H", jpeg.read(2))[0])-2)
b = jpeg.read(1)
width = int(w)
height = int(h)
except struct.error:
pass
except ValueError:
pass
他の誰もいない(少なくともモジュールのため、このエラーに直面しているように見えるん
1つはStackoverflowまたは他のフォーラムで報告されています)。どうすれば修正できますか?私は「もし」ステートメントの外
h, w = struct.unpack(">HH", jpeg.read(4))
行を取得したいが、それはイメージが奇妙な性質を持っている場合にどのように影響するかひどく知りません。 (コーディングに新)
を行うことができたとき、私は2つのコメント行を追加します。しかし、私はそれを初期化する必要があるかどうかを判断する必要があります。なぜなら、その1行をそのままコピーすると意図しない結果が生じるからです。 Else節が、著者が予想していたよりもはるかに多く行使されているように見えます。 – Samit