本节重点

  • 掌握文件的读、写、修改方法

  • 掌握文件的处理模式的区别

一.文件读取

​    ​1.读取全部内容

# 一次性读取文件
f = open("test.txt",'r',encoding='gbk')
data = f.read()
print(data)
f.close()

​2.按行读取

# 按行读取
f = open("test.txt",'r',encoding='gbk')
data = f.readline()
print(data,end='')
f.close()

​    ​3.循环读取

# 循环读取
f = open("test.txt",'r',encoding='gbk')
for line in f:
print(line,end='')
f.close()
# 循环读取二
f = open('test.txt','r',encoding='gbk')
data = f.readlines()
for line in data:
print(line)

​4.二进制读取

# 二进制读取
f = open("test.txt",'rb')
data = f.read()
print(data.decode('gbk'))
f.close()

​5.按字符读取

# 按字节读取
f = open("test.txt",'r',encoding='gbk')
data = f.read(1)
print(data)
f.close() f = open("test.txt",'r',encoding='gbk')
data = f.readline(2)
print(data)
f.close()

二.文件写入

​1.清空原内容写入

# 清空原内容写入
f = open('test.txt','w',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存

​    ​2.追加内容

# 清空原内容写入
f = open('test.txt','a',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存

​3.二进制写入

# 清空原内容写入
f = open('test.txt','wb')
f.wirte('新内容,新世界'.encode('gbk'))
f.close() # 关闭并保存

​4.flush保存

# flush强刷保存内容
f = open('test2.txt','w',encoding='gbk')
f.write('新内容,新世界3')
f.flush() #保存内容 #f.close()

三.文件修改

​    ​1.一次性修改,占用cpu

# 一次性修改
f = open("test.txt",'r+',encoding='gbk')
data = f.read()
f.seek(0)
f.truncate()
data = data.replace('Zi','子')
f.write(data)
f.close()

​2.边读边改,占用硬盘

# 边读边改
import os
f_name = "test.txt"
f_temp_name = "test_temp.txt"
f = open(f_name,'r',encoding='gbk')
f_temp = open(f_temp_name,'w',encoding='gbk')
for line in f:
f_temp.write(line.replace('子','Zi'))
f.close()
f_temp.close()
os.replace(f_temp_name,f_name)

四.文件处理模式

最新文章

  1. Fedora 22中的Services and Daemons
  2. python 日期相关的各种操作总结
  3. ElasticSearch学习-centos下安装
  4. css精灵动画
  5. centos中开机时如何自启动samba服务器
  6. Web端测试和移动端测试的区别
  7. MQTT——安装、测试
  8. maven项目导入报错
  9. android 自定义组件-带图片的textView
  10. Android handler Thread 修改UI Demo
  11. 【转】如何高效利用GitHub——2013-08-28 22
  12. JS2 for应用
  13. 为什么Linux不需要碎片整理?
  14. 【百度地图API】暑假放假回老家——城市切换功能
  15. Sublime Text 最佳插件列表
  16. URL跳转与webview安全浅谈
  17. 开发Hexo主题(一)
  18. awr脚本使用dump导出导入
  19. 3.怎样将ASP.NET MVC应用程序发布到IIS
  20. Linux C 重定向简单范例

热门文章

  1. Eclipse的Java Working set
  2. ffmpeg最简单的解码保存YUV数据 <转>
  3. Java ArrayList的不同排序方法
  4. iOS设计模式(01):观察者
  5. 关于junit包导入不了但是maven本地库中却存在的问题
  6. android学习-Eclipse中修改Android项目图标
  7. pip / conda 导出和安装环境组件 requirements.txt
  8. 在java中导出excel
  9. 微信小程序相关一、模仿京东静态登录页面
  10. Color, Material, Lighting