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模拟sql语句对员工表格进行增删改查
Jul 05 Python
Python连接phoenix的方法示例
Sep 29 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
Python解析、提取url关键字的实例详解
Dec 17 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
简单了解python的一些位运算技巧
Jul 13 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
Pytorch之Variable的用法
Dec 31 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
Python 虚拟环境工作原理解析
Dec 24 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
PHP 日常开发小技巧
2009/09/23 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
python实现360的字符显示界面
2014/02/21 Python
Python实现telnet服务器的方法
2015/07/10 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Django框架模板介绍
2019/01/15 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
numpy库reshape用法详解
2020/04/19 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
课外小组活动总结
2014/08/27 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang