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 生成不重复的随机数的代码
May 15 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
Django的Modelforms用法简介
Jul 27 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
PyCharm 安装与使用配置教程(windows,mac通用)
May 12 Python
Python入门学习之类的相关知识总结
May 25 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
JS与C#编码解码
2013/12/03 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
python求解水仙花数的方法
2015/05/11 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
详解python运行三种方式
2019/05/13 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
全球工业:Global Industrial
2020/02/01 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
护士自我评价
2014/02/01 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
何玥事迹观后感
2015/06/16 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python