小编Lif*_*thy的帖子

Python的glob模块和unix的find命令不识别非ascii

我在Mac OS X 10.8.2上

当我尝试查找文件名包含非ASCII字符的文件时,虽然我确信它们已存在,但我没有得到任何结果.以控制台输入为例

> find */Bärlauch*
Run Code Online (Sandbox Code Playgroud)

我没有结果.但如果我尝试没有变形金刚,我会得到

> find */B*rlauch*
images/Bärlauch1.JPG
Run Code Online (Sandbox Code Playgroud)

所以该文件肯定存在.如果我重命名用'ae'替换'ä'的文件,则找到该文件.

类似地,Python模块glob无法找到该文件:

>>> glob.glob('*/B*rlauch*')
['images/Bärlauch1.JPG']
>>> glob.glob('*/Bärlauch*')
[]
Run Code Online (Sandbox Code Playgroud)

我发现它必须与编码有关但我的终端设置为utf-8而我使用的是使用unicode字符串的Python 3.3.0.

python unix encoding

5
推荐指数
1
解决办法
597
查看次数

标签 统计

encoding ×1

python ×1

unix ×1