因为懂你,所以永恒

一、文件处理的重要性:

  程序处理的数据都是在提取到内存,然后由CPU进行处理,而当断电或系统异常关机时,程序所处理的结果在内存中不会被保存。像永久的保存处理结果,对于windows系统而言,主要是将其以文件格式存放在硬盘内。

  我们平时所熟知的文件格式主要有可执行文件(.exe)、演示文档(.ppt)、文本文档(.txt)、视频文件(.mp4和.avi等)、图片文件(.jpg和.bmp等)

二、打开文件的方法及打开模式

  open(‘文件路径及文件名’,‘打开模式’)

  第一个参数注意使用转义字符;

  第二个参数:默认为‘r’

  ‘w’:以写模式打开文件

  ‘r’:以只读模式打开文件,不允许对文件内容进行编辑和添加

  ‘x’:以写入模式打开文件,如果不存在该文件则新建,如果存在则报错

  ‘a’:以追加模式打开文件,如果不存在该文件则新建,存在则在文件末尾追加写入

  ‘b’:以二进制模式打开

  ‘t’:文本模式打开

  ‘w+’:以写模式打开文件,文件不存在则新建,文件存在则清空重写

三、文件对象方法

  1、f.write(str)函数

  将一个字符串写入文档,并返回当前的字符数;文档写入后内容还存在于内存中,为了能够永久存在,需要执行关闭文档,即函数f.close()

 f = open('C:\\Users\\15460\\Desktop\\KST.txt','wt')
>>> f.write("湖人总冠军!\n")
7
>>> f.close()

  2、f.writelines(seq)函数

  将一个字符串序列seq写入到文档内,seq是一个字符串的可迭代对象 

 seq = '\n我是冠军,we are champion!'
f = open('C:\\Users\\15460\\Desktop\\KST.txt','wt')
f.writelines(seq)
f.close()

  3、f.read(size)函数

  读取文档内容,size不指定时,默认输出文档全部并以一个字符串形式输出,当size指定时,值小于0时,输出文档全部内容;大于0时,则输出size个字符。

  且输出字符串后,文件的指针指向输出的最后一个字符位置,我们可以通过函数f.tell()获得当前的文件指针位置,并且利用f.seek(offset,from)来重置文件指针位置:0表示从文件开头,1表示文件指针当前位置,2表示文件末尾位置,offset为偏置字节数

 kst = open('C:\\Users\\15460\\Desktop\\KST.txt','a+')
print(kst.read())
(什么也没读出来,是因为文件的指针指在文件的末尾,所以什么也读不出来,我们需要使用seek()函数把指针设置到文件开始的位置)
kst.seek(0)
0
print(kst.read())
我是总冠军
我是总冠军我是总冠军我是总冠军我是总冠军

  4、f.readline()函数

  f.readline()函数可以读取一行文档内的值

 kst = open('C:\\Users\\15460\\Desktop\\KST.txt','a+')
>>> kst.seek(0)
0
>>> kst.readline()
'我是总冠军\n'
>>> kst.tell()
12
>>> kst.seek(0)
0
>>> for each_line in kst:
print(each_line,end=' ') 我是总冠军我是总冠军我是总冠军我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军

最新文章

  1. CentOS 下 MySQL DateBasic 抢救
  2. 一个简单的、面向对象的javascript基础框架
  3. Android Studio-设置代码自动提示
  4. 雅虎Yahoo 前段优化 14条军规
  5. catkin_make broken after intalling python 3.5 with anaconda
  6. selenium如何做兼容性测试呢
  7. 【转】Ajax 基础学习
  8. 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL
  9. php gd 生成日历图
  10. 烧饼(nyoj779)
  11. Hbase在的应用经验的统计
  12. jquery-制作选项卡
  13. -------- ROOTKIT 核心技术——系统服务调度表挂钩调试(PART III) --------
  14. ABP之模块系统
  15. layUI实现可选项 弹框
  16. 动态规划-LCS最长公共子序列
  17. 【SVN】svn使用方法
  18. JS之事件机制
  19. vue bus 的使用
  20. JS获取客户端IP地址、MAC和主机名的7个方法汇总

热门文章

  1. Anaconda3自带jupyter
  2. 2018-2019-2 《网络对抗技术》Exp7 网络欺诈防范 20165326
  3. python 设计模式之工厂模式 Factory Pattern (简单工厂模式,工厂方法模式,抽象工厂模式)
  4. SQL Server DATEADD() 当前时间减7小时
  5. leetcode 293.Flip Game(lintcode 914) 、294.Flip Game II(lintcode 913)
  6. Mysql的三种数据类型
  7. Angular中使用ECharts图表
  8. S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
  9. 【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’
  10. oracle DBA 常用表和视图