Python文件常见操作实例分析【读写、遍历】


Posted in Python onDecember 10, 2018

本文实例讲述了Python文件常见操作。分享给大家供大家参考,具体如下:

1.文件是什么?

文件是存储在外部介质上的数据或信息集合,程序中源程序、数据中保存的数据、图像中的像素数据等等;

文件是有序的数据序列;

2.编码:

信息从一种形式转换为另一种形式的过程;ascII码、Unicode、utf-8等等;

二进制文件ascII码:照片、音乐、视频、计算机程序。。。

3.文件的基本操作

1)打开文件获取文件对象

建立磁盘上的文件与源程序中的对象相关联,程序上叫打开文件,一旦文件被打开,文件的内容就可以通过相关的文件对象获得;

python中处理文件首先要创建一个文件对象与磁盘上的文件相关联,

open(),通常open方法可以立即分配一个文件对象变量:创建一个文件对象

open(磁盘文件名,打开方式)

eg:打开一个名为1.dat的文件:

>>>infile = open("1.dat","r")    #打开一个文件对象放在infile中
>>>infile = open("1.mp3","rb")

接下来就可以用文件指针来读取磁盘上1.bat文件的内容了

Python文件常见操作实例分析【读写、遍历】

2)读取文件--文件操作:就是对open创建的文件对象进行操作

读取:即将文件数据读入计算机内存;

写入:即从计算机内存向文件写入数据;

定位:即定位文件读写位置;

其他:追加、计算等;

关闭文件:完成文件操作后需要关闭文件就是:切断文件与程序的联系,将文件缓冲区的数据写入到磁盘,并释放文件缓冲区。

注意:当写入信息到文件对象时,只有在文件关闭后磁盘上的文件才会显示变化。

Python文件常见操作实例分析【读写、遍历】

例子:读整个文件全部内容

def main():
  fname = input("enter filename:") #首先提示用户输入文件名
  infile = open(fname,"r")#打开文件并赋值给文件对象变量infile
  data = infile.read()#文件的全部内容被读入在一个长字符串中并存储在data变量中
  print(data)#输出data在屏幕上
main()

例子:返回文件中5行数据

#连续调用readline()可以的到文件中连续行,readline()返回值都以换行符结束
#输出文件前5行:
def main():
  infile=open("file_name","r")
  for i in range(5):
    line = infile.readline()
    print(line[:1])
#利用剪切操作去掉每行读入的分隔符,如果输出语句末尾有换行符,
#输出操作就会自动跳到下一行,这样输出的文件内容各行之间就会多出一个空行
main()

3)向文件对象写进数据,open方式必须是w or wb

Python文件常见操作实例分析【读写、遍历】

>>> outfile = open("outfile.txt","w")
#打开一个文件并进行文件写入操作,需要一个文件接受数据,如果给出的文件名不存在则会创建一个新文件,如果给出的文件名存在,python将原文件删除并创建一个新的空文件
>>> outfile.writelines(["hello","","liyue"])
>>> outfile.close()
>>> infile = open("outfile.txt","r")
>>> infile.read()
'hello liyue'

文件遍历:是最常见的文件处理方法,例如copy文件、根据数据文件定义行走路径、将文件由一种编码转换成另外一种编码;

通用代码框架:(遍历文件模板:)

file = open(filename,"r")
for each_line in file.readlines():#当文件很大会占用很大内存
              #处理一行文件内容
file.close()

简化代码框架:

file = open (filename,"r")
for each_line in file:
           #处理一行文件内容
file.close()

举例:文件拷贝

def main():
  #用户输入文件名
  f1 = input("输入一个源文件:").strip()
  f2 = input("输入一个源文件:").strip()
  #打开文件
  infile = open(f1,"r")
  outfile = open(f2,"w")
  #copy数据
  countLines = countChars = 0
  for line in infile:
    countLines +=1
    countChars +=len(line)
    outfile.write(line)
  print(countLines,"linesand",countChars,"char copied")
  infile.close()
  outfile.close()
main()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中as用法实例分析
Apr 30 Python
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
Python跨文件全局变量的实现方法示例
Dec 10 Python
python机器学习实战之树回归详解
Dec 20 Python
python ansible服务及剧本编写
Dec 29 Python
pip安装时ReadTimeoutError的解决方法
Jun 12 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
Jun 18 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
pygame实现打字游戏
Feb 19 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 #Python
django使用LDAP验证的方法示例
Dec 10 #Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 #Python
python文件拆分与重组实例
Dec 10 #Python
Python对excel文档的操作方法详解
Dec 10 #Python
使用python进行拆分大文件的方法
Dec 10 #Python
python使用udp实现聊天器功能
Dec 10 #Python
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP批量去除BOM头代码分享
2015/06/26 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
定义select的边框颜色
2008/04/28 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python学习入门之区块链详解
2017/07/25 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
中专生自我鉴定范文
2013/12/19 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python