使用之前python编写的批量修改文件名的程序修改文件名时,如果文件夹路径包含中文字符,会提示以下错误:
SyntaxError: Non-UTF-8 code starting with '\xce' in file
...\BatchChangeFileNameV1.py on line 6, but no encoding declared;
see https://python.org/dev/peps/pep-0263/ for details
应该是程序没有设置编码的原因,于是根据参考文献2-3,在python程序开头增加了下面语句:
# coding=utf-8
再运行程序,错误信息又变成了下面的形式:
File "...\BatchChangeFileNameV1.py", line 5
path = r"...\֪ʶ\Ӣ�ķ���"
^
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xce in position 10:
invalid continuation byte
看报错信息,应该是使用utf-8编码没有解析出中文字符,继续搜索上述错误信息,找到了参考文献1,其中提到GBK编码的中文解析范围超过utf-8,于是将代码开头的编码设置改为gbk,再运行批量修改文件名的程序,即可正常执行。
# coding=gbk
参考文献
[1]https://blog.youkuaiyun.com/stone9159/article/details/79071316
[2]https://www.cnblogs.com/my-blogs-for-everone/p/7878249.html
[3]https://www.cnblogs.com/david-python/p/13851234.html