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
Ở đây tôi đang cố gắng in kích thước của tất cả các tệp trong thư mục (và phụ). Nhưng tôi biết im
nằm ngoài phạm vi khi ở dòng im.size
. Nhưng làm cách nào khác để tôi làm điều đó mà không cần sử dụng các khối else
hoặc finally
.Phạm vi biến đổi và Thử bắt trong python
Các lỗi sau đây được hiển thị:
Traceback (most recent call last):
File "batch.py", line 13, in <module>
print im.size
NameError: name 'im' is not defined
'phạm vi im' là * không * giới hạn ở những' try' khối; đây không phải là C++. – cdhowie
@cdhowie: trong trường hợp đó, tại sao lỗi trên? – shahalpk
Lỗi được hiển thị vì biến 'im' không được xác định thành công nếu' Image.open' không thành công do đó nó không tồn tại khi bạn thử và truy cập thuộc tính '.size'. –