[Python] 中文路径和中文文本文件乱码问题
2015-03-12 16:42
1126 查看
情景:
Python首先读取名为log.txt的文本文件, 其中包含有文件名相对路径信息filename.
随后Python调用shutil.copy2(src, dst)对该filename文件进行复制操作.
由于filename为相对路径信息, 所以我们需要硬编码写入父目录, 假设为"C:\\源目录\\", 同时还有目标目录信息, 假设为"C:\\目标目录\\".
代码:
问题:
会出现各种编码出错, 乱码.
分析:
情境中, 有两个编码:
1. log.txt的编码
2. python脚本文件的编码.
如果这两个编码不匹配, 就会出现问题.
解决方案:
使用Notepad++将两个文件的编码都改为utf-8 No BOM即可.
Python首先读取名为log.txt的文本文件, 其中包含有文件名相对路径信息filename.
随后Python调用shutil.copy2(src, dst)对该filename文件进行复制操作.
由于filename为相对路径信息, 所以我们需要硬编码写入父目录, 假设为"C:\\源目录\\", 同时还有目标目录信息, 假设为"C:\\目标目录\\".
代码:
import shutil def get_file_list(src): f = open(src, 'r') data = [] for line in f.readlines(): if len(line) > 2: line = line.replace('\n','') line = line.replace('\r','') data.append(line.decode('utf8')) return data def copy_file_to(ls, src, dst): for f in ls: shutil.copy(src + f, dst + f) if __name__ == '__main__': ls = get_file_list(u"log.txt") copy_file_to(ls, u"C:\\源目录\\", u"C:\\目标目录\\")
问题:
会出现各种编码出错, 乱码.
分析:
情境中, 有两个编码:
1. log.txt的编码
2. python脚本文件的编码.
如果这两个编码不匹配, 就会出现问题.
解决方案:
使用Notepad++将两个文件的编码都改为utf-8 No BOM即可.
相关文章推荐
- 【Python】遍历某目录下的所有文件夹与文件的路径、输出中文乱码问题
- 解决python中用zipfile解压缩文件时中文文件名乱码的问题
- 下载文件中文乱码问题+路径斜杠问题
- Python模块函数:os.listdir 打印Win7目录中的文件-中文乱码问题
- 解决python中路径中包含中文无法找到文件的问题
- Python 2.7 解决写入文件的中文乱码问题
- python写入中文到文件乱码的问题
- 解决python读取中文文件乱码问题
- python getOpenFileName 中文路径乱码问题
- python读文件open file 中文乱码问题
- 如何解决 Ubuntu 中文乱码问题——文本、MP3和Rar压缩文件及aMule
- python读文件open file 中文乱码问题
- 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
- VC 读取文本文件内容,中文乱码的问题解决
- python csv 格式文件 中文乱码问题解决方法
- python写json文件,中文乱码问题
- Python | 多种编码文件(中文)乱码问题解决 chardet模块
- Python处理MLDonkey 下载中文文件乱码问题
- Python处理MLDonkey 下载中文文件乱码问题
- Python处理MLDonkey 下载中文文件乱码问题 (2)