Python读取文件

自学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编码格式时,无需解码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python的文本处理是经常碰到的一个问题,Python的文本文件的内容读取中,有三类方法:read()、read...
    翎月阅读 144,007评论 3 12
  • 1.读取文件夹中多个txt文档dest = "sougou" #文档的路径for root, dirs, fil...
    qthink阅读 11,019评论 0 0
  • 今天我想用pandas读取我电脑上面的excel文件,但咋样都没有成功,出现的问题截图如下: 其实我的代码的写法是...
    六六的建斌阅读 3,459评论 0 0
  • 有时候我们在处理日志文件时候不需要关注日志文件之前的内容,只需要关注文件新追加的内容,就好像linux的tail ...
    打工是不可能打工的1阅读 4,596评论 0 0
  • 姓名:母光艳 公司:宁波贞观电器 第235期,利他二组 【日精进打卡第201天】 【知-学习】 诵读《六项精进》大...
    母光焱阅读 1,252评论 0 0

友情链接更多精彩内容