帮别人解决了python程序处理中文文件路径报错的问题。 这里记录一下。
python 3对中文的支持比python 2.x好得多, 但我处理的问题是基于python 2.7的
(1)关于中文注释引起的解释器报错问题, 可以在文件开头加上#-*-coding:utf-8-*- 如下:
#-*-coding:utf-8-*-
(2)关于打开带有中文路径的文件报错的问题, 可能会遇到类似下面的错误:
IOError: [Errno 22] invalid mode
我这里看到的代码如下:
PROCESS_DIR = "D:\Log\项目-001\预处理数据-2023-02-27\"
解决办法:将文件路径字符串转为unicode,注意路径要使用“/”, 而不是“\”
#!/usr/bin/python
#-*-coding:utf-8-*-
import os
PROCESS_DIR = u"D:/Log/项目-001/预处理数据-2023-02-27/"
with open(os.path.join(PROCESS_DIR, "dump_data.txt"), "a") as f_in :
(3)关于其他地方使用中文的问题(比如 读写中文编码的字符)
可能需要使用encode 和decode 。 这次我完成的需求不需要,所以没有另做测试。