美文网首页Python杂记
Python读取文件

Python读取文件

作者: Loopz | 来源:发表于2017-07-26 10:57 被阅读0次

    自学Python一周,尝试用Python读取自己编写的txt文件,文件读取时总遇到些小问题,以下是个人的总结

    Python的文件分两种:文本文件及二进制文件。

    文本文件:以纯ASCII编码

    二进制文件:音频,视频,图像文件等。

    文件的读取包括:文件打开,文件操作,文件关闭等

    文件的打开模式,读取模式有以下几种:

    以下是一段简单的文件读取代码:

    import codecs#库导入,方便文件读取,解码

    def getData(lst):

          #解码,data.txt编码格式为utf-8

         #编写txt时要注意编码格式的选择,有utf-8 without BOM 及utf-8格式,相应的解码格式为‘utf-8’,'utf-8-sig'

         with codecs.open('data.txt','r','utf-8-sig') as infile:

                line = infile.readline()

                 while line!='':

                          line = line.strip()#去除前后空格

                           lines = list(map(float,line.split(',')))#分割字符串,并转为list累型

                           lst.append(lines)

                           line = str(infile.readline())

                    print(lst)

            infile.close()

    #函数调用

    getData()

    data.txt

    300,0,144,1,0,0

    300,0,144,0,1,0

    300,0,144,0,0,1

    300,0,144,1,1,0

    300,0,108,0,1,1

    184,0, 72,1,0,1

    184,0, 72,0,0,0

    184,0, 72,0,0,0

    184,0, 72,0,0,0

    文件读取问题:

    1.  lines = list(map(float,line.split(',')))

    ValueError: could not convert string to float: '\ufeff300'

    解码格式不对应导致出错,参考编码与解码:

    stackoverflow.com/questions/17912307/u-ufeff-in-python-string

    2.编写txt文件时要注意编码格式的选择,文件读取时要进行相应的解码

    3.ANSI编码格式时,无需解码

    相关文章

      网友评论

        本文标题:Python读取文件

        本文链接:https://www.haomeiwen.com/subject/zdunkxtx.html