mfc打开一个.txt文件并进行处理_文件处理方法Python

你好,我是goldsunC

让我们一起进步吧!

1. 文件说明

文件是存储在存储器上的数据序列,在计算机中,所有文件都是以二进制的方式进行存储的,而文件的展示形式一般分为两种:文本形式和二进制形式。

文本文件

由单一特定编码组成的文件,如utf-8编码。

二进制文件

直接由比特0和1组成的文件,没有统一字符编码。在二进制文件中,0和1一般根据==预定义==的格式进行了结构组织,这种结构也就是文件的格式,结构的不同也就代表了文件格式的不同。例如.png,.avi等文件。无论是文本文件还是二进制文件,在计算机中都是以二进制方式进行存储的,而有统一编码的我们称其为文本文件,没有统一编码的我们称其为二进制文件。不过对于任何类型的文件,我们都可以用二进制的方法进行打开。

2. 文件处理的一般步骤

当我们拿到一个文件时,处理步骤一般分为三步:
  • 1.打开
  • 2.操作
  • 3.关闭
其中第一步打开文件是必不可少的,不打开文件是无法对其进行相关操作的(当然,如果你只是想要进行像删除它之类的操作当我没说),第二步操作是我们处理文件的核心,最后关闭它是为了防止它继续占用我们的内存。打开文件和关闭文件一般来说都只需要一行代码:
    # 以文本形式打开文件
>>>    tfile = open("file.txt","rt")
    # 以二进制形式打开文件
>>> bfile = open("file.txt","rb")
    # 关闭文件
>>> tfile.close()
>>> bfile.close()
可以看到,在文件的两种状态(存储状态和打开状态)之间,通过两个函数open(,)close()来进行转换,对open函数来讲,示例中的两个参数第一个代表文件的路径和名称,当省去路径时必须保证文件和脚本在同一目录下,第二个参数决定了你对文件打开的方式,如rt代表以只读的文本形式打开,rb代表以只读的二进制形式打开,这在后文中将会有详细介绍。

文件的打开

如上文所讲,文件的打开只需要用到open(,)函数,下面给出这个函数的用法。
格式如下: = open( 文件路径及名称 , 打开模式 )句柄名称即是后续对文件处理的对象,而文件路径及名称上文以及提过,而打开模式跟我们后续处理文件的方法息息相关,简单来说我们想怎么处理文件最好选择相应的打开方法。Python提供了七种相关的打开模式,分别如下:
打开模式作用
'r'只读模式,程序的默认值,如果文件不存在,返回FileNotFoundError类型错误。
'w'覆盖写模式,文件若不存在则自动创建一个文件,如果文件存在则将其覆盖。
'x'创建写模式,文件若不存在则创建文件,如果文件存在将返回FileExistsError类型错误。
'a'追加写模式,文件若不存在则创建文件,如果文件存在则将内容写入到原文件的后边。
'b'以二进制类型打开文件。
't'以文本类型打开文件,此为默认值。
'+'与r/w/x/a一同使用,在原功能基础上增加同时读写功能。

文件的关闭

文件的关闭非常简单,格式如下: . close()

文件内容的读取

在对文件内容进行读取时首先要保证文件以及被打开,而对于读取方法,
Python提供了三个针对文件读取的函数:
读取方法作用
.read(size=-1)读入全部内容,如果给出参数,则读入前size长度
.readline(size=-1)读入一行内容,如果给出参数,则读入该行的前size长度
.readlines(hint=-1)读入文件的所有行,以每行为元素形成列表,如果给出参数,则读入前hint行

数据的文件写入

对文件内容的读取来讲,我们是将文件中的内容读取出来然后进行我们的操作,不影响原文件,而对文件内容的写入来讲,是我们之间在文件上进行操作,不过要注意对文件以写方式打开。

Python也提供了三个针对文件写入的函数:

写入方法作用
.write(s)向文件写入一个字符串或者字节流
.writelines(lines)将一个元素全为字符串的列表写入文件
.seek(offset)改变当前文件操作指针的位置,offset参数:0、1、2分别代表文件开头、当前位置、文件结尾。
对于seek函数,它的作用是改变当前文件操作指针的位置,它的用处是什么呢?举个小例子:
    #首先以文本状态和覆盖写模式打开一个文件
>>>    newfile =   open('a_flie.txt','wb+')    
    #建立一个列表
>>>    a_list  =   ['Keep calm',' and ','carry on',' !']
>>>    newfile.writelines(a_list)
>>>    for line in newfile:
        print(line)
>>>    newfile.close()
这段代码在运行之后会生成一个'a_file.txt'文件,里边写着'Keep calm and carry on !',
而在解释器中却并没有打印这个字符串,这是因为在文件写入完成后,指针位置在文件的最后方,
而'for in'的遍历方法是从指针位置向文件最后方遍历,因此遍历的结果是空,这个时候如果想要
使用遍历的方法打印写入的字符串,就需要用到'seek'函数,如下:
#首先以文本状态和覆盖写模式打开一个文件

 • end • 

走在路上

goldsunC

970f7d8642af8739a685f235c18d175c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt的如何调整显示不为科学记数法_Excel操作技巧:如何将信息快速准确的录入Excel?...

前面几篇文章中,给大家介绍了一些excel的基本操作技巧,以及如何高效地浏览表格。相信大家多少都会获得一点收获,希望能够为大家提供一些工作上的帮助。工作中,老板经常会安排我们手动输入一些数据,考虑到我们要不停的手…

如何给mysql表添加百万条数据_给mysql一百万条数据的表添加索引

直接alter table add index 添加索引,执行一个小时没反应,并且会导致锁表;故放弃该办法,最终解决办法如下:一.打开mysql 命令行客户端这里我们那可以看到导出的数据文件所存放的默认位置 C:\ProgramData\MySQL\MySQL …

qchart画完以后删除_冬天的夜晚很难画?老师分步骤教你画,简单易学,收藏起来临摹...

今日绘画主题:冬天的夜晚冬天是美好的,也是很多画家喜欢创作的题材之一,但是,冬天的夜晚却是很难画,今天分步骤图解教大家画冬天的夜晚,快收藏起来临摹吧。>>>【第一步】:先来画线稿&a…

lrtemplate如何导入pr_PR模板使用套路讲解 视频剪辑教程

​pr模板在使用的时候需要注意的事项以及如何正确操作https://www.zhihu.com/video/1237765482302226432pr模板在使用的时候需要【注意的事项】1、下载的模板必须解压后使用2、下载模板的时候网站上页面都会有介绍模版所支持的版本3、弹出不同版本的提示窗口,点击确…

linux没有usr目录_了解linux系统目录,sys,tmp,usr,var!

linux小白到大神的成长之路:了解linux系统目录,sys,tmp,usr,var!本经验由宗龙龙原创,全文共600多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!​这篇文章将…

svd奇异值分解_奇异值分解SVD

点击上方蓝字关注我们奇异值分解(SVD)在计算机视觉中有着广泛的应用,如数据降维、推荐系统、自然语言处理等。本文是介绍SVD的数学计算过程,并从SVD的性质说明其应用的原理。01特征值与特征向量奇异值分解(SVD)与特征分解类似,是将矩阵分解为…

python turtle画房子详细解释_[宜配屋]听图阁

我就废话不多说了,直接上代码吧!import turtletturtle.Turtle()turtle.Turtle().screen.delay(0)tleftturtle.Turtle()#第一部分t.penup()t.goto(0,0)t.pendown()t.left(20)t.forward(110)t.left(25)t.forward(40)t.left(100)t.circle(180,20)t.right(12…

简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验

成都2015年10月23日电 /美通社/ -- 四川航空发布手机APP全新的3.0版本,不仅针对界面风格做了全新改变,在iOS9、安卓系统上的展示更加炫丽;而且在机票预订、航班动态、特价机票方面均做了大幅升级,会员服务也更加贴心。对于有机票需…

python可视化分析网易云音乐评论_网易云音乐热门评论api分析

网上有现成的例子我就扒过来了!!title: 网易云评论api分析date: 2018-12-24 20:54:46tags: [python]网易云音乐是个好地方,里面各个都是人才,特别是评论区……所以我就想把评论爬下来看看,下面记录一下分析api的过程与…

spring 上下文_一次性教你彻底理解 Spring容器和应用上下文!

作者:陈本布衣www.cnblogs.com/chenbenbuyi有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助…

oracle plsql 到处dbf_plsql 导出oracle数据库

plsql 导出数据库有两个问题,一个是只导出结构,一个是导出表结构加数据这样的,首先人家让我导成sql语句这不是简单,首先打开PLSQL一、导出结构1、然后tools->Export User Objects..然后出来一片空白2、要选择哪个User3、上面会…

python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的

前言前几天爬的今天整理了一下发现就两个需要注意的点一是记得用带cookie的方式去访问,也就是实例化requests.session()二是转化一下爬取到的url,访问爬到的url得到返回的Location值,该值便是真实的地址(如果你不是要爬url当我没说)知道了这两…

spring aop设计模式_Spring框架中设计模式的运用

设计模式大家可能随口就能说出总共有23种,但是具体怎么用,或者在常用的组建中有哪些体现,这时候不一定说的上来了。接下来几篇文章,我们一起深入理解。首先我们一起了解下常用的组建中是怎么运用的,比如 JDK、Sring、M…

sql unicode转中文_SELECT语句《SQL必知必会》

数据库中有哪些数据类型?数据库中最常用对数据类型有三种:Text(文本)、Number(数字)和 Date/Time。文本类型:即字符串,如“nameasdas”数字类型:十进制数字,如…

graphpad如何检测方差齐_如何选择方差分析的多重比较方法?资料集锦

欢迎订阅SPSS训练营号方差分析时,如果因素主效应有显著影响,则需要对因素水平进行两两比较,以确认因素水平间的具体差异。这个过程也叫作多重比较。SPSS提供14种用于方差齐次的多重比较方法,还有4种方差不齐情况下的多重比较方法&…

【MySQL学习笔记009】事务

一、事务简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 二、事务操作 1、操作1 查看/设置事务提交方式 select a…

c mysql 视图_MySQL入门教程(七)之视图

相关阅读:视图是从一个或多个表中导出来的虚拟表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。1、视图简介1.1 视图的含义视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的视图的基础上定义。数据库中只存放视图的定…

tensorflow gpu安装_tensorflow-gpu安装配置

1 介绍目前,主流版本是tensorflow-gpu 1.12.0,线上安装这个版本,和这个版本搭配的cuda是9.0版本,cudnn版本是7.0.5。2 cuda和cudnn安装cuda驱动地址:cuda_9.0.176_384.81_linux.runcudnn库地址: cudnn-9.0-linux-x64-v…

java ee文件下载_JavaEE实现文件下载

我们先来看一个最简单的文件下载的例子:package com.yyz.response;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.…

java安全框架有哪些_Java开发必备教程-细说Spring Security安全框架

一、Spring Security介绍spring security 是基于 spring 的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。在 Spring Framework 基础上,spring security 充分利用了依赖注入(DI)和面向切面编程(AOP)功能&…