本节内容:

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

  2,with和open的连用

  3,flush的使用

1:open

1)r权限

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

2)w权限

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

3)a权限

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

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

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

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

2,with和open的连用

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

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

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

day 8:open文件和with的使用的更多相关文章

  1. Mapreduce的文件和hbase共同输入

    Mapreduce的文件和hbase共同输入 package duogemap;   import java.io.IOException;   import org.apache.hadoop.co ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  4. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  5. SQLSERVER将一个文件组的数据移动到另一个文件组

    SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...

  6. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  7. C# ini文件操作【源码下载】

    介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...

  8. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  10. GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级

    一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...

随机推荐

  1. VGG19模型训练+读取

    目录 VGG-19模型简单介绍 VGG-19模型文件介绍 分析模型文件 mean值查看 Weight和Bias查看 读取代码 读取模型 训练代码 参考资料 VGG-19的介绍和训练这里不做说明,网上资 ...

  2. JAVA REENTRANTLOCK、SEMAPHORE 的实现与 AQS 框架

    引言 ReentrantLock是JDK提供的一个可重入互斥锁,所谓可重入就是同一个锁允许被已经获得该锁的线程重新获得.可重入锁的好处可以在递归算法中使用锁,不可重入锁则导致无法在递归算法中使用锁.因 ...

  3. 【学习】数据规整化:清理、转换、合并、重塑【pandas】

    这一部分非常关键! 数据分析和建模方面的大量编程工作都是用在数据准备上的:加载.清理.转换以及重塑. 1.合并数据集 pandas对象中的数据可以通过 一些内置的方式进行合并: pandas.merg ...

  4. Flask 中关于‘蓝图’ 的使用-------------------

    Blueprint是一个存储操作方法的容器,这些操作在这个Blueprint被注册到一个应用之后就可以被调用,Flask可以通过Blueprint来组织URL以及处理请求 Blueprint使用时应先 ...

  5. CentOS更换镜像源

    使用说明 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...

  6. 关于VS2010 在设计窗口时控件消失问题

    我特喵的,见鬼了. 几个相同的Tabpage中添加相同toolStrip控件,每次都是第二个Tabpage中的消失,但是查看设计器下面又显示控件存在,点击也会出现,运行后就没有了,真的是奇怪. 最后经 ...

  7. tomcat 配置细节

    1.对于url中文乱码问题: (有时进行url编码也不能能够解决,找到server.xml添加URIEncoding="UTF-8",就可以了) tomcat配置编码:      ...

  8. 使用百度ocr接口识别验证码

    #!/usr/bin/env python #created by Baird from aip import AipOcr def GetCaptchaV(filename): APP_ID = ' ...

  9. IDEA中使用中jetty启动java项目(非springboot)

    1.安装maven helper插件,略 2.项目pom.xml文件中添加jetty插件配置 <build> <plugins> <plugin> <grou ...

  10. png 变透明

    using  System.Drawing Image image;    image = Image.FromFile("d:\\1.png");    Bitmap bitma ...