美文网首页
【2017-10-30】文件与IO(二)

【2017-10-30】文件与IO(二)

作者: 小蜗牛的成长 | 来源:发表于2017-10-30 23:10 被阅读0次

时隔一个月再次继续更新内容,中间经历了假期、写脚本、测试...

上篇文章讲述了文件操作的基本用法,接着继续讲述一些常用参数或函数

  • open()常用参数
    • encoding参数,指定待打开文件使用的编码,文件的读写操作默认使用系统编码,可通过调用sys.getdefaultencoding()来得到,通常为utf8
    • newline参数,指定换行符,取的值有None, '\n', '\r', '', '\r\n'
    • errors参数,编码错误时,可使用该编码来处理。取值一般有replace,strict,ignore,当取replace时,乱码代替;当取strict的时,若字符编码出现问题,会报错;当取ignore的时,编码出现问题,程序会忽略而过,继续执行下面的程序

示例:errors字段使用

#test.txt文件内容:
"""
hi he
问问
"""
with open("test.txt","rt",encoding="ascii",errors="ignore") as p :
       print(p.read())

  上述例子中的文件编码为utf-8,为了测试,特意标明打开的编码是ascii,若不使用errors="ignore",会报错。当然,打开文件时尽量使用正确的编码,万不得已才使用errors字段处理编码问题

  • print()函数常见参数
    • file 关键字参数,将打印的输出内容重定向到文件
    • seq参数或end参数,改变默认的分隔符或者行尾符
#将print打印的输出内容重定向至test.txt文件中
with open("test.txt","w") as p :
       print("我是一只小小鸟",file=p)
row=["1","2",3]
print(*row)#1 2 3 
print(*row,sep=",") #1,2,3
print(*row,end=",")#1 2 3,
  • 二进制与文本模式
    二进制模式的文件中读取或写入文本数据,必须确保要进行解码和编码
    decoding() 解码
    encoding() 编码

  • x模式(python3特有)
    文件不存在时写入,存在则报FileExistsError错误

with open("test1.txt","x") as p :
       p.write(111)
  • 在内存中操作str和bytes的方法
    数据读写不一定在文件,也可以在内存中,python3 中,见io模块中的StringIO()BytesIO()类,python2有点区别
    • StringIO用于str,在内存中开辟一个文本模式的buffer,当close()方法被调用的时候,buffer被回收
    • BytesIO 用于bytes,类似StringIO
      以上创建的对象,大部分方法的用法类似文件操作对象。唯一区别是文件是存储在硬盘上,而StringIO()BytesIO()创建的对象读取或者写入的数据在内存,当内存断电,数据会丢失
from io import StringIO#python3
s=StringIO()
s.write("我是一只小小鸟")
print(s.getvalue())#获得所有数据
#要像读文件一样读取StringIO,可以用一个str初始化StringIO
f=StringIO("我是一只小小鸟")
print(f.readline())

相关文章

  • 【2017-10-30】文件与IO(二)

    时隔一个月再次继续更新内容,中间经历了假期、写脚本、测试... 上篇文章讲述了文件操作的基本用法,接着继续讲述一些...

  • JS一些插件收集

    2017-10-30更新 Blueimp jquery相册插件 http://blueimp.github.io...

  • 2018-07-03

    Netty实践与NIO原理 一、阻塞IO与非阻塞IO Linux网络IO模型(5种) (1)阻塞IO模型 所有文件...

  • IO流基础与字节流,字符流

    IO流基础 一、概念数据的交换程序与文件,数组,网络资源,数据库资源的数据传输与交换。 二、IO流的分类 流向:输...

  • IO与流 -- 文件

    文件对象 可以将存在或不存在的文件或目录封装为对象 当创建一个文件对象后,就可以利用它来对文件或目录的属性进行操作...

  • IO流2

    IO流二 字符流 计算机并不区分二进制文件与文本文件。所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的...

  • 2019-09-28

    Java的IO处理 IO类与File类的区别 IO类关注文件内的内容。File类关注文件在磁盘上的存储。因此处理文...

  • pythoncookbook 第5章 文件与IO

    第5章 文件与IO 文件的读写 和io都要通过内存 重载系统的编码方式 5.1 读取文本 f=open('/tmp...

  • 31.Python:文件读写

    IO操作与读写文件 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。不论哪种,一定...

  • Linux 文件IO 和 标准IO

    [TOC] Linux 文件IO 和 标准IO Linux 文件IO Linux中做文件IO最常用到的5个函数是:...

网友评论

      本文标题:【2017-10-30】文件与IO(二)

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