python学习之路 四 :文件处理
2024-10-20 05:40:58
本节重点
掌握文件的读、写、修改方法
掌握文件的处理模式的区别
一.文件读取
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)
四.文件处理模式
最新文章
- Fedora 22中的Services and Daemons
- python 日期相关的各种操作总结
- ElasticSearch学习-centos下安装
- css精灵动画
- centos中开机时如何自启动samba服务器
- Web端测试和移动端测试的区别
- MQTT——安装、测试
- maven项目导入报错
- android 自定义组件-带图片的textView
- Android handler Thread 修改UI Demo
- 【转】如何高效利用GitHub——2013-08-28 22
- JS2 for应用
- 为什么Linux不需要碎片整理?
- 【百度地图API】暑假放假回老家——城市切换功能
- Sublime Text 最佳插件列表
- URL跳转与webview安全浅谈
- 开发Hexo主题(一)
- awr脚本使用dump导出导入
- 3.怎样将ASP.NET MVC应用程序发布到IIS
- Linux C 重定向简单范例
热门文章
- Eclipse的Java Working set
- ffmpeg最简单的解码保存YUV数据 <;转>;
- Java ArrayList的不同排序方法
- iOS设计模式(01):观察者
- 关于junit包导入不了但是maven本地库中却存在的问题
- android学习-Eclipse中修改Android项目图标
- pip / conda 导出和安装环境组件 requirements.txt
- 在java中导出excel
- 微信小程序相关一、模仿京东静态登录页面
- Color, Material, Lighting