Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作。

对文件的操作分三步:

1、打开文件获取文件的句柄,句柄就理解为这个文件

2、通过文件句柄操作文件

3、关闭文件。

现有以下文件file.txt:

我们哭了
我们笑着
我们抬头望天空
星星还亮着几颗
我们唱着
时间的歌
才懂得相互拥抱
到底是为了什么
因为我刚好遇见你
留下足迹才美丽
风吹花落泪如雨
因为不想分离
因为刚好遇见你
留下十年的期许
如果再相遇
我想我会记得你
我们哭了
我们笑着
我们抬头望天空
星星还亮着几颗
我们唱着
时间的歌
才懂得相互拥抱
到底是为了什么
因为我刚好遇见你
留下足迹才美丽
风吹花落泪如雨
因为不想分离
因为刚好遇见你
留下十年的期许
如果再相遇
我想我会记得你
因为刚好遇见你
留下足迹才美丽
风吹花落泪如雨
因为不想分离
因为刚好遇见你
留下十年的期许
如果再相遇
我想我会记得你
因为我刚好遇见你
留下足迹才美丽
风吹花落泪如雨
因为不想分离
因为刚好遇见你
留下十年的期许
如果再相遇
我想我会记得你

文件基本操作:

       f = open(‘file.txt‘,‘r‘) #以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
        在python2中还有file方法可以打开文件,python3中file方法已经没有了,只有open
        frist_line = f.readline()#获取文件的第一行内容,返回的是一个list
        print(frist_line)#打印第一行
        res = f.read()#获取除了第一行剩下的所有文件内容
        print(res)
        f.close()#关闭文件

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,后面通过此文件句柄对该文件操作,

打开文件的模式有:

            r,只读模式(默认)。
            w,只写模式。【不可读;不存在则创建;存在则删除内容;】
            a,追加模式。【不可读; 不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

            r+,【可读、可写;可追加,如果打开的文件不存在的话,会报错】
            w+,【写读模式,使用w+的话,已经存在的文件内容会被清空,可以读到已经写的文件内容】
            a+,【追加读写模式,不存在则创建;存在则只追加内容;】

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

            rU
            r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

            rb
            wb
            ab

文件操作方法:

            f = open(‘file.txt‘,‘r+‘,encoding=‘utf-8‘)#encoding参数可以指定文件的编码
            f.readline()#读一行
            f.readable()#判断文件是否可读
            fr.writable()#判断文件是否可写
            fr.encoding#打印文件的编码
            f.read()#读取所有内容,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
            f.readlines()#读取所有文件内容,返回一个list,元素是每行的数据,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
            f.tell()#获取当前文件的指针指向
            f.seek(0)#把当前文件指针指向哪
            f.write(‘爱情证书‘)#写入内容
            f.fulsh()#写入文件后,立即从内存中把数据写到磁盘中
            f.truncate()#清空文件内容
            f.writelines([‘爱情证书‘,‘孙燕姿‘])#将一个列表写入文件中
            f.close()关闭文件

大文件时,读取文件高效的操作方法:

用上面的read()和readlines()方法操作文件的话,会先把文件所有内容读到内存中,这样的话,内存数据一多,非常卡,高效的操作,就是读一行操作一行,读过的内容就从内存中释放了

        f = open(‘file.txt‘)
        for line in f:
            print(line)
        这样的话,line就是每行文件的内容,读完一行的话,就会释放一行的内存

with使用:

在操作文件的时候,经常忘了关闭文件,这样的就可以使用with,它会在使用完这个文件句柄之后,自动关闭该文件,使用方式如下:

    with open(‘file.txt‘,‘r‘) as f:#打开一个文件,把这个文件的句柄付给f
          for line in f:
              print(line)
   with open(‘file.txt‘) as fr,with open(‘file_bak‘,‘w‘) as fw: #这个是多文件的操作,打开两个文件,fr是读file.txt,fw是新建一个file_bak文件
           for line in fr:#循环file.txt中的每一行
               fw.write(line)#写到file_bak文件中

修改文件:

修改文件的话,有两种方式,一种是把文件的全部内容都读到内存中,然后把原有的文件内容清空,重新写新的内容;第二种是把修改后的文件内容写到一个新的文件中

第一种

    with open(‘file.txt‘,‘r+‘) as fr:
        res = fr.read()
        new_res = res.replace(‘我‘,‘me‘)
        fr.write(new_res)

第二种

  with open(‘file.txt‘) as fr,with open(‘file_new‘,‘w‘) as fw: #这个是多文件的操作,打开两个文件,fr是读file.txt,fw是新建一个file_bak文件
           for line in fr:#循环file.txt中的每一行
               new_line = line.replace(‘我‘,‘me‘)
               fw.write(new_line)#写到file_bak文件中

集合:

集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据

集合的作用:

1、它可以把一个列表中重复的数据去掉,而不需要你再写判断

2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合

定义集合

        list = [2,3,1,2,3,4]
        s_list = set(list)#这样就定义了一个集合
        set1 = set([1,3,4,5,6])#这种方式和上面的都是把list转换成一个集合
        set2={‘hehe‘,‘hehe1‘,‘hehe3‘}#这种方式是直接定义一个集合

集合操作

        list1 = {1, 2, 3, 4, 5, 6, 9}
        list2 = {2, 3, 4, 6, 1}
        list3 = {1, 2, 3}
        print(list1.intersection(list2))  # 取交集,也就是取list1和list2中都有的
        print(list1 & list2)# 取交集
        print(list1.union(list2))  # 取并集,也就是把list1和list2合并了,然后去除重复的
        print(list1 | list2)# 取并集
        print(list1.difference(list2))  #取差集 在list中存在,在list2中没有的
        print(list1 - list2)
        print(list3.issubset(list1))#判断list3是不是list1的子集
        print(list1.issuperset(list3))#判断list1是不是list3的父集
        print(list1.isdisjoint(list3))#判断list1和list3是否有交集
        print(list1.symmetric_difference(list2))#对称差集,输出两个列表中都没有的值,也就是把两个集合中相同的去掉
        print(list1 ^ list2)
        list1.add(888)#添加元素
        list1.update([777,666,666])
        list1.remove(777)#删除元素,如果元素不存在会报错
        list1.pop()#删除一个随机的元素,并返回删除的元素
        list1.discard(‘dddd‘)#如果删除的元素存在,删除,不存在不做处理
时间: 2024-10-05 03:32:38

Python学习基础篇—文件操作和集合的相关文章

python学习笔记(三):文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Python学习—基础篇之文件操作

文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Excel文件的相关操作进行介绍. 一.文本文件 1.1 文件操作流程 1.打开文件,获得文件句柄,并赋值给一个变量 : 2.通过句柄对文件进行相关操作: 3.关闭文件 示例: 1 # -*- coding:utf-8 -*- 2 # author: cdc 3 # date: 2018/8/23 4 5

[Python]学习基础篇:文件和目录

文件 文件是数据在外部介质上的数据的集合,对于文件在Linux系统上包括普通文件,目录文件,二进制文件,设备文件等. 文件的打开或者创建 方法:open('file_name','打开方式'[,buf_size]) buf_size:参数指的是文件缓存区的大小,0代表不缓存,1代表缓存,使用系统默认设置的缓存区大小,大于1代表缓存大小. 打开方式:如下表 打开方式 说明 'r' 只读的方式打开文件,若文件不存在,则产生异常 'r+' 以读写的方式方式打开文件,不删除原内容,若文件不存在,产生异常

python基础(三)文件操作和集合

一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') #以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读, 在python2中还有file方法可以打开文件,python3中file方法已经没有了,只有open frist_line = f.readline()#获取文件的第一行内容,返回的是一个list print(frist

Python学习:7.文件操作

文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文件的基本步骤: 打开文件 对文件内容进行操作(读取文件信息,向文件中写入信息等) 关闭文件 一.打开文件 在上一篇的内置函数介绍中,我们提到了open这个函数,这个函数的作用就是打开一个文件. 格式一 文件句柄 = open(文件路径,打开格式,编码) 打开文件时,需要指定文件路径和以何种方式打开文

python函数基础 与文件操作

函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: 1 def function_name(arg1,arg2[,...]): 2 statement 3 [return value] 返回值不是必须的,如果没有return语句,则Python默认返回值None. 函数名的命名规则:函数名必须以下划线或字母开头,可以包含任意字母.数字或下划线的组合.不能使用任何的标点符号:函数名是区分大小写的.函数名不能是保留

python学习笔记4-python文件操作

python文件操作 open r:以读方式打开 w:以写方式打开 a:以追加模式 r+:读写模式 w+:读写模式(参见w) a+:读写模式(参见a) rb:以二进制读模式打开 wb:以二进制写模式打开(参见w) ab:以二进制追加模式打开(参见a) rb+:以二进制读写模式打开(参见r+) wb+:以二进制读写模式打开(参见w+) ab+:以二进制读写模式打开(参见a+) with open 使用for循环遍历文件 打开文件 [[email protected] ~]# vim forread

Python学习系列之文件操作

Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的关闭文件 Python打开文件的模式 基本模式 带'+'的模式 带'b'的模式 #提示:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型 带'+'和带'b'的模式 Python文件读取方式 Pyhton文件写入方式 Python文件操作所提供的方法 close(self) 关闭已经打