f = open('users.txt',encoding='utf-8') #读文件的时候,必须存在在才可以读 文件对象,或者文件句柄
res = f.read()
print(res)
f.close()

fw = open('users',mode='a',encoding='utf-8')
fw.write('qiaomeiling,123456\n')
fw.close()

一.文件读写

读模式,r,不写默认为r模式;打开不存在的文件会报错;不能写入内容,会报错

写模式,w,打开不存在的文件,会新建一个文件;打开一个已经存在的,里面有内容的文件,会清空原有文件;不能读

追加模式,a,打开不存在的文件,会新建;不能读;打开一个已经存在的,里面有内容的文件,不会清空原有文件

读写模式,r+ 1,能写;打开不存在文件的时候会报错

写读模式,w+1,能读;读不到内容,因为w先把文件内容清空

追加读模式,a+1,能读;读不到内容,指针在最后,f.seek(0),指针移到前面;再写东西,还是在最后写入

f.seek(0) 移动文件指针到最前面

f.flush()  刷新缓冲区,立即写到磁盘上

f.tell()  记录读完之后文件指针

f.truncate() 清空文件内容

二.读

print('readline',f.readline())  读取一行的内容

print('readlines',f.readlines())  读取文件里面所有的内容,把每行的内容都放到一个list里面

print('read',f.read() )  读取所有的内容,读完文件指针指到最后

三.1.直接循环文件对象,每次取的就是文件里面的每一行
for line in f:
print(line)

2.write() 只能写进去字符串

writelines()会循环list里面的每个元素写进去

3.with open('users','a+') as fw 不用文件自动关闭

四.修改文件

第一种

# with open('users','a+') as fw:
# fw.seek(0)
# result = fw.read()
# new_result = result.replace('python','java')
# fw.seek(0)
# fw.truncate() #清空文件内容
# fw.write(new_result)

#第二种 大数据量 两个文件倒
import os
# fr =open('users')
# fw= open('.users','w')
with open('users') as fr,open('.users','w',encoding='utf-8') as fw:
for line in fr:#从需要修改的文件里面读
new_line = line.replace('java','修改文件')
fw.write(new_line)

os.remove('users')

os.rename('.users','users')

最新文章

  1. 使用AppCan实现分享网站功能
  2. WinRt BottomAppBar
  3. jQuery之渐变切换
  4. 超过130个你需要了解的vim命令
  5. Android推送技术研究
  6. Python 网路编程读书笔记x UDP
  7. CKEditor扩展插件:自动排版功能
  8. Python中函数式使用
  9. Python判断内网IP
  10. 每天一个Linux命令(12)--more命令
  11. 利用win10自带的系统配置禁止开机启动项和程序
  12. centos7防火墙配置
  13. 吴恩达课后作业学习2-week3-tensorflow learning-1-例子学习
  14. bzoj 2588 : Spoj 10628. Count on a tree
  15. 10个造型奇特的css3进度条(有的html被编辑器转义了,上面的代码还是OK的)。。。转载
  16. as3 分发事件无法接收
  17. Django之自带认证
  18. nginx之编译安装
  19. strip() 、lstrip() 、rstrip()
  20. java, android的aes等加密库

热门文章

  1. php __FILE__ symlink
  2. iOS - (多图上传已封装)
  3. 前端 json 导出 excel
  4. Mybatis时间段比较
  5. 001-http协议-请求报文以及服务器响应状态
  6. oracle将unix 时间戳转换为date类型
  7. 检索系统向量化计算query-doc相似度
  8. C# vs2015单元测试测试资源管理器不显示测试方法
  9. numpy高级索引
  10. sqlmap的使用