zoukankan      html  css  js  c++  java
  • [Python] 中文路径和中文文本文件乱码问题

    情景:

    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('
    ','')
                line = line.replace('
    ','')
                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 栈&队列&列表的区别
    python 内置函数简介及其作用
    python 正则表达式详解
    python scrapy
    python 文件操作
    python 爬虫实例
    浅谈tcp 与udp
    php正则匹配video 中或者img的宽度和高度。
    android技术积累:开发规范
  • 原文地址:https://www.cnblogs.com/lancelod/p/4332853.html
Copyright © 2011-2022 走看看