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+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 '''
'''
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”方式打开
posted on 2018-05-10 19:24 zhangmingda 阅读(376) 评论(0) 编辑 收藏 举报