os.stat 在含有特殊字符的文件上失败
我在Windows XP上使用Python 2.6.5,正在处理一个文件夹里的文件,想通过调用os.stat来获取它们的大小。但是,当脚本遇到一个文件时就出错了,这个文件的名字里有一些非ASCII字符。出现的错误是os.stat找不到指定的文件。我知道这个文件是存在的,因为我可以在iTunes或VLC播放器中正常播放。
这个文件的名字是
1-02 Só Danço Samba (Jazz Samba).m4a
为了确保字符能正常显示,这个字符串是
'1-02 So\xb4 Danc\xb8o Samba (Jazz Samba).m4a'
我应该或者可以做些什么,让os.stat能够接受这个文件名呢?顺便提一下,尝试在Python中打开这个文件也因为同样的原因失败了。
1 个回答
1
试着在你的Python文件最上面加上这一行 # coding=UTF-8
(正如Philipp所提到的,这只对你脚本中的unicode有影响),并确保你存储文件名时使用unicode而不是字符串(str)。
以下是测试的代码:
# coding=UTF-8
import os
fname = u'/temp/1-02 Só Danço Samba (Jazz Samba).m4a'
print(os.stat(fname))