【2017-09-28】文件与IO(一)

文件的读写操作

  • 前导
       python内置了读写文件的函数。读写文件,不是直接操作磁盘,现代操作系统不允许,所以在磁盘上读写文件的功能均有操作系统提供,即读写时请求操作系统打开一个文件对象,然后,通过操作系统提供的接口从该文件对象中读取数据或者把数据写入文件。

  通常情况下,读写文件主要分为以下步骤
     打开文件,open()
     读取、或者写入文件,read()write()
     关闭文件,close()with用法等

简单示例

f = open('123.txt')
print(f.read())
f.close()
  • 打开文件
       打开文件, open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]]),file参数必填,其他的为选填,经常会用到的参数modeencodingerrors
      mode,即打开文件的模式
          r表示仅读
          w表示仅写
          a表示追加
          +表示读写
          b表示二进制模式
          t表示文本模式
    例如:
模式 含义
r 以只读模式打开文件,默认模式,文件存在,则清空已有内容;文件不存在,则会报错
rb 类似r,以二进制格式打开文件
r+ 打开一个文件用于读写,文件指针放在文件开头
rb+ 以二进制的方式打开一个文件用于读写,文件指针放在文件开头
w 用于只写,默认模式,文件存在,则清空已有内容;文件不存在,则会新创建
w+ 用于读写,文件存在,则清空已有内容,不存在,则会创建
wb 以二进制的方式打开文件用于读写
a 打开一个文件用于追加,文件不存在,则创建;文件存在,则在已有内容后追加新内容

  总的来说, 包含 wa+的单一模式或者组合模式,如果文件不存在,会创建新文件

#w+模式
f = open('124.txt',"w+")#体现可写
f.write("222eeee")
print("备注:写入完成后,如果要读,需要将指针指向文件开头,否则读到的内容为空")
f.seek(0)
print(f.read())#体现可读
f.close()
  • 读取文件或者写文件
    read() 一次性读取文件全部内容,也可以指定每次读取多少个字节
    readline() 每次读取一行
    readlines() 一次性读取所有行,并按行返回list
    write() 写入文件,写入内容为字符串
    writelines() 写入文件,写入内容为可字符串,也可以是列表和字典内容,字典仅为关键字

另外文件对象是可迭代的,可以直接在for中使用,如下

with open('124.txt', 'r') as f:
    for line in f:
        print (line)
  • 关闭文件
    try...finally,确保在任何情况下,文件都能被关闭
    with的使用, with 控制块结束时,文件会自动关闭
#第一种示例
try:
       f=open('124.txt', 'r')
       f.read()

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

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,773评论 19 139
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,624评论 0 6
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,429评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 100,882评论 9 468
  • <理想> 一个人住在这城市,为了填饱肚子就已精疲力尽,还谈什么理想 那是我们的美梦,梦醒后还是依然奔波在风雨街头,...
    桥泊kubert阅读 1,251评论 2 2

友情链接更多精彩内容