学习笔记四 文件读写,集合,元组,函数

一、文件读写几种模式总结:

读模式: r 打开不存在的文件会报错、不能写(不能调用write方法),可以读(能调用read方法)

写模式: w # 1、打开不存在的文件,会新建一个文件,但每次打开都会清空原有文件内容

      # 2、不能读(不能调用read方法),可以写(能调用write方法)

追加模式 a # 1、打开不存在的文件,会新建,可以写(可以调用write方法)

      # 2、不能读(不能调用read方法)

读写模式 r+ # 1、能写能读,但每次都是重头写入,会覆盖原有的文件内容

      # 2、打开不存在文件的时候会报错

写读模式 w+ # 1、能读能写

      # 2、但读不到内容,因为每次打开w先把文件内容清空

追加读模式 a+ # 1、能读能写

       # 2、每次读的时候,文件指针是在文件末尾。如果需要重头读起,需要f.seek(0)将指针移到文件开始,当文件写入数据后,在没有关闭文件前,此时写入的数据还在内存中,没有写入磁盘,当文件在其他地方打开的时候,是看不到新写入的数据,如果希望新写入的数据立即生效写入磁盘,需要用f.flush(),文件末尾用f.tell()

读取文件内容三个方法:

比如有文件test.txt


1.read():方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。

2.readline():一次读取文件的一行。如果文件指针在文件开始位置,则读取的是第一行数据。

3.readlines():读取文件的所有行,并且以list形式返回

4.直接循环文件对象:当文件比较大的时候可以用此方法

                  

文件的写操作:

 1.write(str):参数必须是个字符串,写入的内容就是str

 2.writelines(sequence):参数是一切可迭代的(字符串,list,元组,set,dict)的对象,其运行原理是将sequence的内容以遍历的方式依次读取写入

5.文件操作小代码:监控日志

6.文件操作小代码:修改文件

with 操作会自动调用close(),无需手动写关闭文件操作

第一种方式:全部读取文件的内容后修改其内容,将原有文件内容删除,然后将修改的内容直接复制写进去

第二种方式(推荐):创建一个新的空文件,将修改的内容写入到新文件后,再删除原有的旧文件,将新文件更名成旧文件名

二.集合

1.集合的重要属性:可以自动去重!(划重点)

2.集合初始化:s=set(),集合也是用{}括起来的形式,但不是键值对。空的集合必须用set()初始化不能用{},因为{}表示空的字典

3.集合的几种运算:

  1.交集:找出集合之间相同的元素

  两种方式:intersection()和&

   

    2.并集:把2个集合合并到一起,然后去除重复

  两种方式:union和|

   

  3.差集:前面一个有,后面一个没有的

   两种方式:difference和 -

 

  

  4.对称差集: 只在一个集合里面出现过的,都给你整出来(除交集以外的那些元素)

  两种方法:symmetric和^

4.集合元素新增:add,无返回值

5.集合元素删除:因为集合是无序的,所以无法通过指定下标来操作(没有下标这个概念)

  1.pop:随机删除,返回删除的那个值,不能带任何参数

  2.remove:指定元素删除,没有返回值

6.集合的遍历:

  

三.string模块的几个方法:

 

四.元组:元组也是一个有序的序列,特点是值不能修改

 1.元组的初始化:一定要用逗号间隔

五.随机操作常用方法:

 需要导入模块:import random

 1.randint(a,b):随机一个整数,范围左闭右闭

   random.randint(1,23):随机一个范围在1和23直接的整数

 2.choice(seq):从一个有序的序列(不包括字典和集合)中随机选一个值返回,返回类型同返回元素的类型

 3.sample(seq,n):从一个有序的序列(不包括字典和集合)中随机选n个值组成list返回

 4.shuffle(list):参数只能是list,打乱一个list的顺序,无返回值

 5.uniform(a,b) :a-b直接随机取小数

六.函数简单介绍:

函数以def定义,函数名(),:结尾,默认返回值为None,也可以自定义返回值

函数的形参:函数定义的时候括号里带的参数

函数的实参:函数调用时传入的实际参数

函数的变量:函数里面定义的变量,作用域只在函数体内,函数体外不可见

函数的返回值:返回值作为函数的一个处理结果返回给调用者

 
 

  

猜你喜欢

转载自www.cnblogs.com/eichar/p/10021480.html