Python28之文件1
因为懂你,所以永恒
一、文件处理的重要性:
程序处理的数据都是在提取到内存,然后由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的更多相关文章
- Mapreduce的文件和hbase共同输入
Mapreduce的文件和hbase共同输入 package duogemap; import java.io.IOException; import org.apache.hadoop.co ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- SQLSERVER将一个文件组的数据移动到另一个文件组
SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
随机推荐
- NAT反向转换基本配置详解
- Function.apply.bind()与Function.apply.bind()
1.Function.apply.bind(…) 我在学习promise部分的时候遇到了这样的代码: Promise.resolve([10,20]).then(Function.apply.bind ...
- spring boot 之登录拦截
登录拦截,请求的session里面有username者判断为登录状态 @Configuration public class WebSecurityConfig extends WebMvcConfi ...
- 记一次有惊无险的 JVM 优化经历
转载:https://my.oschina.net/u/3627055/blog/2995973 背景 生产环境有二台阿里云服务器,均为同一时期购买的,CPU.内存.硬盘等配置相同.具体配置如下: 节 ...
- GIS地理工具案例教程——合并选中图层
GIS地理工具案例教程--合并选中图层 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 功能:并图层列表中 描述:对图层列表中选中图层进行合并. ...
- java类型 jdbcType类型 mysql类型关系
java类型 jdbcType类型 mysql类型关系 Java类型 JdbcType Mysql类型 备注 String VARCHAR VARCHAR 变长字符串 String LONGVARCH ...
- Python之BeautifulSoup的使用示例
import requests from bs4 import BeautifulSoup url = 'http://pm25.in/'+city_pinyin r = requests.get(u ...
- 002-guava String 操作
一.概述 提供了字符串基本操作 二.使用 2.1.字符串拼接 字符串的拼接采用的是Guava中的Joiner类中的方法 @Test public void testJdkJoin() { List&l ...
- 算法习题---5.1大理石在哪(UVa10474)
一:题目 现有N个大理石,每个大理石上写了一个非负整数.首先把各数从小到大排序,然后回答Q个问题.每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x.排序后的大理石从左到右编 ...
- 算法习题---4-9数据挖掘(Uva1591)
一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #defin ...