• 技术文章 >Python技术 >Python基础教程

    python怎么识别文件格式

    流芳流芳2020-07-04 11:22:40转载3413

    python通过第三方库chardet以字节方式读进字节流对象,然后通过detect函数识别进而获取文件的格式。

    """
    自动识别 文本编码格式
    """
    import chardet
    
    
    def detectCode(path):
        with open(path, 'rb') as file:
            data = file.read(20000)
            dicts = chardet.detect(data)
        return dicts["encoding"]
    
    
    def print_data_1(path):
        """
        这种编码通过命令行 file -i 文件名获取编码格式,
        通过测试,使用file 命令获取的编码格式不能获取正确的编码数据
        :param path:
        :return:
        """
        with open(path, "r", encoding="iso-8859-1") as f:
            i = 0
            for line in f:
                print(line)
                i += 1
                if i == 5:
                    break
        f.close()
    
    
    def print_data_2(path):
        print("-------------------------------")
        with open(path, "r", encoding="{0}".format(detectCode(path))) as f:
            i = 0
            for line in f:
                b_line = line.encode("utf-8")  # 将文件内容转化为utf-8格式
                print(chardet.detect(b_line)['encoding'])  # 输出转化为内容格式
                i += 1
                if i == 5:
                    break
        f.close()
    
    
    if __name__ == '__main__':
        path = "test.txt"
        print(detectCode(path))
        # print_data_1(path)
        print_data_2(path)

    推荐课程:Python进阶视频教程

    专题推荐:识别格式
    上一篇:Python3读取视频&保存视频 下一篇:大数据学python还是java

    相关文章推荐

    • python中怎么识别判断是否是小数?• python不识别install如何解决• python如何识别中英文

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网