1) except без указания типа исключения — плохо
2) fname[:-3]+'png' не сработает для файлов с расширением jpeg. и правильнее использовать os.path.splitext
3) использование finally в данном примере бессмысленно
4) ну и неплохо бы добавить проверку на то, что открываемый файл является изображением — иначе обработка прервется (ведь в try — except взяли весь цикл, а не одну итерацию)
Конвертируем .bmp в .png, с помощью Python и PIL