2

我想遍历目录中的所有文件。我试过 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)

如果文件名包含德语字符 (ä,ö,ü,...),则 print 函数会打印一个空行。在这种情况下如何处理国际字符?

更新
适用于 Debian 上的 GIMP 2.10.16 Python-Fu Console 2.7.17,但不适用于 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: 断言 '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: 断言 'gtk_text_iter_get_buffer (end) ==缓冲区失败
self.buffer.insert_with_tags_by_name(pos, text, self.tag_name)

4

0 回答 0