因为懂你,所以永恒

一、文件处理的重要性:

  程序处理的数据都是在提取到内存,然后由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=' ') 我是总冠军我是总冠军我是总冠军我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军 我是总冠军
我是总冠军
我是总冠军
我是总冠军
我是总冠军

Python28之文件1的更多相关文章

  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,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

随机推荐

  1. NAT反向转换基本配置详解

  2. Function.apply.bind()与Function.apply.bind()

    1.Function.apply.bind(…) 我在学习promise部分的时候遇到了这样的代码: Promise.resolve([10,20]).then(Function.apply.bind ...

  3. spring boot 之登录拦截

    登录拦截,请求的session里面有username者判断为登录状态 @Configuration public class WebSecurityConfig extends WebMvcConfi ...

  4. 记一次有惊无险的 JVM 优化经历

    转载:https://my.oschina.net/u/3627055/blog/2995973 背景 生产环境有二台阿里云服务器,均为同一时期购买的,CPU.内存.硬盘等配置相同.具体配置如下: 节 ...

  5. GIS地理工具案例教程——合并选中图层

    GIS地理工具案例教程--合并选中图层 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 功能:并图层列表中 描述:对图层列表中选中图层进行合并. ...

  6. java类型 jdbcType类型 mysql类型关系

    java类型 jdbcType类型 mysql类型关系 Java类型 JdbcType Mysql类型 备注 String VARCHAR VARCHAR 变长字符串 String LONGVARCH ...

  7. Python之BeautifulSoup的使用示例

    import requests from bs4 import BeautifulSoup url = 'http://pm25.in/'+city_pinyin r = requests.get(u ...

  8. 002-guava String 操作

    一.概述 提供了字符串基本操作 二.使用 2.1.字符串拼接 字符串的拼接采用的是Guava中的Joiner类中的方法 @Test public void testJdkJoin() { List&l ...

  9. 算法习题---5.1大理石在哪(UVa10474)

    一:题目 现有N个大理石,每个大理石上写了一个非负整数.首先把各数从小到大排序,然后回答Q个问题.每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x.排序后的大理石从左到右编 ...

  10. 算法习题---4-9数据挖掘(Uva1591)

    一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #defin ...