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,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
随机推荐
- 中山纪中集训Day1测试(摸鱼)
AT3 粉刷匠 Description 赫克托是一个魁梧的粉刷匠,而且非常喜欢思考= = 现在,神庙里有N根排列成一直线的石柱,从1到N标号,长老要求用油漆将这些石柱重新粉刷一遍.赫克托有K桶颜色各不 ...
- Understanding glibc malloc
https://wooyun.js.org/drops/深入理解%20glibc%20malloc.html https://sploitfun.wordpress.com/2015/02/10/un ...
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073 11.11 智慧上云 ...
- Spark获取DataFrame中列的几种姿势--col,$,column,apply
1.doc上的解释(https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Column.html) df("c ...
- 003-结构型-03-代理模式(Proxy)
一.概述 Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问. 可以详细控制访问某个类或对象的方法,在调用这个方法(流程代码放到代理 ...
- spring2.5 jdk1.8
今天运行一个14年基于spring2.5的项目,出现下面错误 Unexpected exception parsing XML document from class path resource .. ...
- Labelme数据转mask_rcnn数据格式
labelme数据转mask_rcnn数据格式 # coding: utf-8 import argparse import json import os import os.path as osp ...
- 5.7.27版本mysql新增用户
因为我们目前只有root,所以只能先用root登陆mysql,再新增用户: $ bin/mysql -u root -p Enter password: Welcome to the MySQL mo ...
- Qt编写气体安全管理系统4-通信协议
一.前言 通信协议解析是整个系统的核心灵魂,绝大部分人做软硬件通信开发,第一步估计就是写demo将协议解析好,然后再慢慢写整个界面和操作流程等,在工业控制领域,modbus协议应用还是非常广泛的,这个 ...
- 报错:java.lang.AbstractMethodError: nl.techop.kafka.KafkaHttpMetricsReporter.logger()Lcom/typesafe/scalalogging/Logger;
报错背景: CDH启动kafka的时候出现报错情况,并且报错的节点挂掉. 报错现象: Exiting Kafka due to fatal exception java.lang.AbstractMe ...