os.walk()剥离抛光字符

Rob*_*bus 6 python

所以我要做的是修复一些mp3文件的id3tags.这一切都有效,除了带有任何重音的文件,因为os.walk似乎剥离它们.

例如,我有这个文件01.Co S?ycha?.mp3,在这段代码中:

for root, dirs, files in os.walk(folder):
    print files
Run Code Online (Sandbox Code Playgroud)

显示为['01.Co Slychac.mp3'],稍后导致"没有此类文件或目录"错误.

怎么解决这个问题?

Tim*_*ker 7

你定义folder为Unicode字符串了吗?这会影响os.walk()其子目录的匹配程度,或者更好的是它返回的字符串类型.

>>> for a,b,c in os.walk("."):
...  print b
...  break
...
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'tcl', 'Tools']
>>> for a,b,c in os.walk(u"."):
...  print b
...  break
...
[u'DLLs', u'Doc', u'include', u'Lib', u'libs', u'tcl', u'Tools']
Run Code Online (Sandbox Code Playgroud)