import Image
import os
for dirname, dirs, files in os.walk("."):
for filename in files:
try:
im = Image.open(os.path.join(dirname,filename))
except IOError:
print "error opening file :: " + os.path.join(dirname,filename)
print im.size
Qui sto cercando di stampare la dimensione di tutti i file in una directory (e sotto). Ma so che lo im
è fuori dall'ambito quando si trova nella riga im.size
. Ma in quale altro modo lo faccio senza usare i blocchi else
o finally
. è mostratoAmbito variabile e Try Catch in python
il seguente errore:
Traceback (most recent call last):
File "batch.py", line 13, in <module>
print im.size
NameError: name 'im' is not defined
'ambito di im' * non * è limitato alla' try' blocco; questo non è C++. – cdhowie
@cdhowie: in tal caso, perché l'errore sopra riportato? – shahalpk
L'errore è mostrato perché la variabile 'im' non è definita correttamente se' Image.open' fallisce quindi non esiste quando si prova ad accedere all'attributo '.size'. –