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,一经查实,立即删除!

相关文章

navicat mysql 远程_Navicat for mysql 连接远程数据库

错误码1130:更改mysql数据库里的usermysql>use mysql;mysql>select host from user where userroot;mysql>update user set host % where user root;mysql>flush privileges;mysql>select host from user where userroot;错误码2003:1.m…

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

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

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

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

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

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

mysql scws_apache+mysql+php+scws+myft_scws编译安装全程记录

1.首先编译安装apache,这里是下载的最新版apache 2.2.22版本[rootb2b soft]#tar zxvf httpd-2.2.22.tar.gz[rootb2b soft]#cd http-2.2.17[rootb2b http-2.2.22]#./configure --prefix/home/apache2.2.22 --enable-so --enable-rewrite --enable-ssl --enable-mods-…

python写前端和js_Python之路【第十二篇】前端之jsdomejQuery

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。1、存在方式functionfunc() {alert("Hello Shuaige")}2、javascrip…

mysql降级导入_mysql 升级和降级

1 官方推荐的两种升级方式:in-place upgradelogical upgrade2 升级之前:备份所有数据库,包括系统库mysql[rootDarren1 ~]# mysqldump -uroot -p147258 -A -B -F --master-data2 --events --single-transaction>/tmp/mysqlall.bak下载5.7.…

python process_Python Process/Thread 概念整理

进程与线程 并发与并行进程与线程首先要理解的是,我们的软件都是运行在操作系统之上,操作系统再控制硬件,比如 处理器、内存、IO设备等。操作系统为了向上层应用程序提供 简单一致 的机制来控制复杂而又大相径庭的低级硬件设备 抽象出 进程 的…

mysql技术内幕sampdb_MySQL技术内幕汇总

MySql技术内幕之MySQL入门(1)检查系统中是否已经安装了MySQLsudo netstat -tap | grep mysql若没有显示已安装结果,则没有安装。否则表示已经安装。sudo apt-get install mysql-server mysql-client安装过程中会让输入密码,记得把密码记住。登录mysql -u…

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分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!​这篇文章将…

effective python目录_Effective python(七):协作开发

一,文档字符串1, 在函数,类,模块(顶端编写)下使用三个"""括起来内容即可2, 文档被关联到__doc__属性中,应尽量充分的描述其用法,作用,异常等等二,使用包来…

实用卷积神经网络 运用python pdf_解析卷积神经网络—深度学习实践手册 中文pdf高清版...

解析卷积神经网络—深度学习实践手册从实用角度着重解析了深度学习中的一类神经网络模型——卷积神经网络,向读者剖析了卷积神经网络的基本部件与工作机理,更重要的是系统性的介绍了深度卷积神经网络在实践应用方面的细节配置与工程经验。笔者希望本书“…

mysql语言和php语言_MySQL如何与PHP编程语言一起使用?

MySQL与PERL,C,C ,JAVA和PHP等各种编程语言结合使用时效果很好。在这些语言中,PHP因其Web应用程序开发功能而成为最受欢迎的语言。PHP提供了各种功能来访问MySQL数据库并处理MySQL数据库内部的数据记录。您将需要以与调用其他任何…

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的过程与…

python 功能化模块_【软件测试教程】Python模块化以及内置模块的使用

一:什么是模块模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。二:模块类型1:自定义模块由编程人员自己写的模块。自定义模块时要注意命名&#xff0…

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

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