是这样的,文件从mac端传到windows端会导致文件名(中文)乱码。于是我想写个python脚本来改下文件名的编码,代码如下:
python
def convert_gbk_to_utf8(): for file in os.listdir(ROOT_PATH): new_file = file.encode("gbk", "ignore").decode("utf-8", "ignore") os.renames(os.path.join(ROOT_PATH, file), os.path.join(ROOT_PATH, new_file))
结果差强人意,有部分文件名转化的不完整。想问下为什么?
乱码的文件名
鏁堟灉鍥_K11.1_璐圭敤鏄庣粏_鏈彁浜よ璐_.png
鏁堟灉鍥_K11.2_璐圭敤鏄庣粏_濉啓璺ˉ璐_png
调用os.listdir()打印出来的文件名
原文件名不是 gbk 编码的吧?试试
gb18030
。参考:Chinese in Mac OS X 10.7 Lion