最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么识别文件格式

    正文概述    2020-08-18   260

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

    python怎么识别文件格式

    """
    自动识别 文本编码格式
    """
    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进阶视频教程


    起源地下载网 » python怎么识别文件格式

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元