一、操作文件流程

  1.打开文件,得到文件句柄并赋值给一个变量

  2.通过句柄对文件进行操作

  3.关闭文件

示例代码: 

f = open('chenli.txt') #打开文件

first_line = f.readline()
print('first line:',first_line) #读一行
print('我是分隔线'.center(50,'-'))
data = f.read()# 读取剩下的所有内容,文件大时不要用
print(data) #打印读取内容 f.close() #关闭文件

二、文件打开方式

  打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

  打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;不存在则创建;存在则只追加内容】

   "+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

 seek()三种状态0、1、2 默认状态0,状态1 相对路径调整,末尾状态2。状态1和2都需要在字节情况下使用

三、读写命令

  输入:

  file.read()方法直接读取字节到字符串中,默认size参数为-1

  file.readline()方法读取打开文件的一行,包括行结束符作为字符串返回,默认size参数为-1

  file.readlines()方法读取文件所有行,并把它们作为一个字符串列表返回

  输出:

  file.write()把含有文本数据或二进制数据块的字符写到文件中去

  file.writelines()接受一个字符串列表作为参数,将它们写入文件中,行结束符不会自动加入,所以如果需要的话,在调用writelines()前给每行结尾加上行结束符

  补充:

  r+ 默认光标在开始的位置,写的时候追加写

  w+ 覆盖写,想读取内容通过seek()调整

  a+ 光标默认在文件的最后位置,不管光标在什么位置,一定是追加写,读取内容通过seek()调整

最新文章

  1. PHP5.5.13 + Apache2.4.7安装配置流程详解
  2. Node.js——Async
  3. mysql linux终端登陆
  4. Java for LeetCode 034 Search for a Range
  5. (letcode)String to Integer (atoi)
  6. 解决vim不能使用方向键和退格键问题
  7. 第12届北师大校赛热身赛第二场 A.不和谐的长难句1
  8. 树形控件CTreeCtrl的使用
  9. Flink Program Guide (9) -- StateBackend : Fault Tolerance(Basic API Concepts -- For Java)
  10. 集合-字典(Dictionary)
  11. 浏览器播放rtsp流媒体解决方案
  12. 验证插件——jquery.validate.js
  13. iOS - Core Animation 核心动画
  14. 多线程总结之旅(1):线程VS进程
  15. k8s应用机密信息与配置管理(九)--技术流ken
  16. vim中制表符tabstop用法
  17. 使用mediainfo工具统计每个视频文件(媒体文件)播放时长
  18. 8.中断按键驱动程序之poll机制(详解)
  19. python之文件目录操作
  20. Oracle 相关概念

热门文章

  1. BUPT复试专题—众数(2014)
  2. SolidEdge 如何由装配图快速进行标注和零件序号编写 制作BOM表
  3. LeetCode——Remove Nth Node From End of List
  4. HDU 2018 母牛的故事 [补]
  5. sql insert and update
  6. GPG key
  7. Understanding When to use RabbitMQ or Apache Kafka Kafka RabbitMQ 性能对比
  8. spark mongo 性能优化
  9. 设置Android Studio工程布局文件的默认布局
  10. [TJOI2017] 不勤劳的图书管理员