博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量将.txt编码格式转化为utf8
阅读量:5307 次
发布时间:2019-06-14

本文共 1669 字,大约阅读时间需要 5 分钟。

以下是Python3语言,一个文件里有很多个.txt文档,里面编码格式都是ASCII。现需要将这些编码格式转化为utf-8,以下是python3语言编写的脚本,一般只需改变path路径就可以运行。
import osimport codecsimport chardetdef list_folders_files(path):    """    返回 "文件夹" 和 "文件" 名字    :param path: "文件夹"和"文件"所在的路径    :return:  (list_folders, list_files)            :list_folders: 文件夹            :list_files: 文件    """    list_folders = []    list_files = []    for file in os.listdir(path):        file_path = os.path.join(path, file)        if os.path.isdir(file_path):            list_folders.append(file)        else:            list_files.append(file)    return (list_folders, list_files)def convert(file, in_enc="GBK", out_enc="UTF-8"):    """    该程序用于将目录下的文件从指定格式转换到指定格式,默认的是GBK转到utf-8    :param file:    文件路径    :param in_enc:  输入文件格式    :param out_enc: 输出文件格式    :return:    """    in_enc = in_enc.upper()    out_enc = out_enc.upper()    try:        print("convert [ " + file.split('\\')[-1] + " ].....From " + in_enc + " --> " + out_enc)        f = codecs.open(file, 'r', in_enc, "ignore")        new_content = f.read()        codecs.open(file, 'w', out_enc).write(new_content)    except IOError as err:        print("I/O error: {0}".format(err))# 将路径下面的所有文件,从原来的格式变为UTF-8的格式if __name__ == "__main__":    path = r'E:\sssss\SogouCS.reduced'         #只要满足形式,一般只需改变文件夹的路径即可    (list_folders, list_files) = list_folders_files(path)    print("Path: " + path)    for fileName in list_files:        filePath = path + '\\' + fileName        with open(filePath, "rb") as f:            data = f.read()            codeType = chardet.detect(data)['encoding']            convert(filePath, codeType, 'UTF-8')

转载于:https://www.cnblogs.com/ming-jing/p/10818222.html

你可能感兴趣的文章
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>