Python: как обрабатывать символы int'l в именах файлов для glob и fnmatch?
Я хочу перебрать все файлы в каталоге. Я пробовал glob:
from glob import glob
for filename in glob('*'):
print filename
и я попробовал fnmatch:
import fnmatch
import os
for file in os.listdir('.'):
if fnmatch.fnmatch(file, '*'):
print(file)
Если имя файла содержит немецкий символ (ä,ö,ü,...), то функция печати печатает пустую строку. Как в этом случае обрабатывать символы int'l?
ОБНОВЛЕНИЕ
Работает в GIMP 2.10.16 Python-Fu Console 2.7.17 в Debian, но не в системе Windows (те же версии).
И я получаю пустую строку только второй раз, когда вставляю и выполняю скрипт в консоли. В первый раз после запуска GIMP/Pythen-Fu в списке файлов отображается множество сообщений об ошибках вместо правильных имен файлов:
C: \ Users \ jamacoe \ AppData \ Local \ Programs \ GIMP 2 \ lib \ gimp \ 2.0 \ plug-ins \ python-console / pyconsole.py:74: GtkWarning: gtk_text_buffer_emit_insert: assertion 'g_utf8_validate (text, len, NULL)'сбой self.buffer.insert_with_tags_by_name(pos, text, self.tag_name)
C: \ Users \ jamacoe \ AppData \ Local \ Programs \ GIMP 2 \ lib \ gimp \ 2.0 \ plug-ins \ python-console / pyconsole.py:74: GtkWarning: Неверный итератор текстового буфера: либо итератор не инициализирован, либо символы /pixbufs/ виджеты в буфере были изменены с момента создания итератора.
Вы должны использовать метки, номера символов или номера строк, чтобы сохранить позицию при изменении буфера.
Вы можете применять теги и вставлять метки без аннулирования ваших итераторов, но любая мутация, которая влияет на содержимое 'индексируемого' буфера (содержимое, на которое можно ссылаться по смещению символа)
, аннулирует все невыполненные итераторы
self.buffer.insert_with_tags_by_name (pos, text, self. tag_name)
C: \ Users \ jamacoe \ AppData \ Local \ Programs \ GIMP 2 \ lib \ gimp \ 2.0 \ plug-ins \ python-console / pyconsole.py:74: GtkWarning: gtk_text_buffer_apply_tag_by_name: assertion 'gtk_text_iter_get_buffer (буфер 'сбой
self.buffer.insert_with_tags_by_name(pos, text, self.tag_name)