Python第三周 数据类型:集合set、文件的读写、追加操作。

集合

知识点:集合是无序的

格式:{1,2,3,"str_test"} 

set_1 = set(list1)#将列表转换为集合

集合关系测试:

集合的逻辑判断、取交集、并集、差集、子集、父集

用数学运算符进行关系测试。

集合的增删

文件操作

先了解下文件描述符

 https://www.cnblogs.com/zhangmingda/p/11715113.html

 。open(“文件名”,encoding="utf-8")默认为只读模式即 = open(“文件名”,“r”,encoding="utf-8")

open 详解如下

'''
函数语法
open(name[, mode[, buffering]])
参数说明:

name : 一个包含了你要访问的文件名称的字符串值。

mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

buffering : 如果 buffering 的值被设为 0,就不会有寄存。
       如果 buffering 的值取 1,访问文件时会寄存行。
如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。
如果取负值,寄存区的缓冲大小则为系统默认。 ------------------------ mode 详细模式区别
'''
不同模式打开文件的完全列表:

模式    描述
r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+    打开一个文件用于读写。文件指针将会放在文件的开头。
rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w    打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
'''
arwb+
'''

read()读取全部内容:

read(数字)读取文件的前XXX个字符。

readline()读取一行,然后文件指针向下走一行,

读取前5行,通过readline(),+for 循环

readlines()  将文件内容每行作为一个列表key,制作一个列表出来。会读到内存中只适合小文件。

通过for循环取出这个列表的所有内容,即可打印文件全部内容

注意:readlines()的坑(缺点,耗能耗内存)

如下直接for循环open()的迭代器的方法为最高效的方法。

文件指针移动方法:seek(指针位置=数字);.tell查看当前指针位置

 判断:是否可读、可写、可移动文件指针

刷新flush() 作用:即时将文件修改写入硬盘。否则会暂时存在内存中,数据到达指定值再写入磁盘。

发现没有写入到文件

flush()后再看:

flush()第二个应用:进度条

截断文件内容:truncate,只保留文件内容的前XXXX个字符

 文件读写指针:读写、写读、追加读写、文件句柄二进制文件

 

以二进制形式写入文件

修改文件内容(读取一个文件,写入一个新的文件)

 自动关闭打开的文件的小技巧:with XXXX as 变量名称:

过某行不打印可以用enumerate() 来枚举index。

例如:跳过第二行(用“===”代替)

 =写入=========================================================================

写= 新建文件/覆盖原有文件,写入不能读

向已有文件中追加内容。“a”方式打开

原文地址:https://www.cnblogs.com/zhangmingda/p/9021299.html