本节内容:

  1,open打开文件后的几种操作

  2,with和open的连用

  3,flush的使用

1:open

1)r权限

f = open("D:\\auto\project\\fullstack\week2\day8\小重山.txt", "r", encoding="utf-8")
data = f.read()
# read(5):只读五个字,中英文相同,一个字母一个字,一个汉字一个字,此时光标在第五个字,再次运行,读取的数据是从第五个字往后读取
print(data)

2)w权限

f = open("D:\\auto\project\\fullstack\week2\day8\小重山.txt", "w", encoding="utf-8")  # 写的方式打开,会将原来的文件内容清除
f.write("hello world")
f.close()

3)a权限

f = open("小重山", "a", encoding="utf-8")  # 在文件的末尾添加,文件不可读
f.write("\nhello yuefei \n")
f.close() # 关闭打开的文本

4)r+,a+,w+的区别

# ----- r+的用法 ----
f = open("小重山", "r+", encoding="utf-8")
print(f.readline()) # 必须有read的动作才能够添加 ,不然不能添加成功
f.write("你好") # 写在最后
f.seek(0)
for i in f:
print(i.strip()) # 去除前后空格
f.close()
#  -------------- w+的用法--------------
f = open("小重山1", "w+", encoding="utf-8")
f.write("你好")
print(f.tell()) # 获取当前光标所在位置,字节位置
f.seek(0) # 光标移动到开始
for i in f:
print(i.strip())
f.close()

a+和w+的用法相同,只是在打开文件的时候不清空

2,with和open的连用

with open("小重山", "r",  encoding="utf-8") as f, open("新小重山", "w+", encoding="utf-8") as f2:
# with的使用可以在结束的时候自动关闭文件,不需要在运行的最后加上close
number = 1
for i in f:
if number == 6:
i = ''.join((i.strip(), "alex"))
f2.write(''.join((i.strip(), "\r")))
number += 1
f2.seek(0)
for new in f2:
# 使用的时候迭代器的方式,不容易导致内存被过多的占用
print(new.strip())

3,flush的使用,实现进度条的功能

import sys, time
for i in range(100):
sys.stdout.write("*")
sys.stdout.flush() # 将写的文本存入硬盘当中
time.sleep(0.2)

最新文章

  1. Disruptor-NET和内存栅栏
  2. dock停靠管理器
  3. 利用Cydia Substrate进行Android HOOK(二)
  4. HDU5763 another meaning -(KMP+DP)
  5. CSS如何实现数字分页效果
  6. PHP内置的Web Server的使用
  7. jquery file upload 后台收到的文件名中文乱码, filename中文乱码
  8. Java 设计模式 -- 示例指南
  9. dp
  10. 纯Socket(BIO)长链接编程的常见的坑和填坑套路
  11. Dynamics 365 Online 试用账号申请方式
  12. [个人网站搭建]·Django增加评论功能(Python3)
  13. [Swift]LeetCode838. 推多米诺 | Push Dominoes
  14. varnish 相关说明
  15. Requests爬虫
  16. windows c语言 网络
  17. Mybatis的Mapper接口方法不能重载
  18. 从客户端(ASPxFormLayout1$txtRule="<YYYY><MM><DD><XXXX>")中检测到有潜在危险的 Request.Form 值
  19. linux-*.filetype.bz2 unzip
  20. Python - Django - ORM 实例(二)

热门文章

  1. C#压缩文件,C#压缩文件夹,C#获取文件
  2. calc()使用用法
  3. Flask框架里的cookie和session
  4. Activiti 框架学习
  5. Asp.net core中由于页面编码导致的中文乱码
  6. MM-移动类型
  7. c++常见变量的极值
  8. [Flutter] 因为不讲这个重点, 全网所有 flutter 实战视频沦为二流课程
  9. Suse linux enterprise 11添加设置中文输入法的方法
  10. Django中的auth模块