[Python] 中文路径和中文文本文件乱码问题
2024-10-12 01:37:51
情景:
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即可.
最新文章
- Cocos2d-x 核心概念 - 坐标系(UI.OpenGL.世界坐标系.模型坐标系)
- hash 分区的用途是什么?
- (二)我的Makefile学习冲动&;&;编译过程概述
- PL/0编译器(java version)–PL0.java
- Redis 笔记与总结1 安装部署
- 数据库自定义表值函数Split(@LongStr, @SplitStr, @IsDistinct )
- android 手电筒的实现
- boost::thread boost库线程
- HBase 事务和并发控制机制原理
- perl 调用按钮输出到文本框
- Pro/Engineer wildfire 5.0 野火版系列下载及安装方法
- NOIP2015
- [51nod1213]二维曼哈顿距离最小生成树
- LeetCode算法题-Toeplitz Matrix(Java实现)
- [DP][NOIP2013]花匠
- 熊猫ios手游直播教程 苹果投屏电脑
- 潭州课堂25班:Ph201805201 并发(进程,线程)二 第十二课 (课堂笔记
- widows下 python环境变量配置
- 无法外网访问VM中的hadoop yarn的8088端口
- [工具] Dienstag