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

    python怎么识别文件格式

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    """

    自动识别 文本编码格式

    """

    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学习网