文件操作
计算机在处理数据的时候,数据都是存在磁盘上了(软件安装在磁盘上),取数据的时候都是从磁盘上获取,然后交给内存,之后再交给cpu,cpu处理完了之后将数据给内存,然后内存再给磁盘。
cpu的读写速度最快,内存次之,磁盘是最慢的,如果cpu直接从磁盘中获取数据就太慢了,所以内存起到了一个缓冲的作用。
数据如果存在内存中,那么电脑已关机啥的就都没了,想永久保存就放在了磁盘硬盘中了。
那么如果我们想从磁盘中读取一个很大的文件(好几个G,姑且就说6个G),用read或readlines(这两个方法直接一下子将文件全部读取出来)从磁盘中读取出这些数据将这些数据放在了变量result(变量是存储在内存中的)中,如果目前我的内存只有8个G且已经打开了某些软件什么的占用了好几个G,那么此时内存是不够的,会导致电脑卡死死机什么的
为了处理上述问题,我们不一下子全部读取出来,而是一行一行的读取
如果现在有个需求,比如是个大文件,我想将里边的数据小写字母都更换为大写字母怎么做。此时不能用之前那种读取整个文件内容然后清空之后再写进去,可能也引发上述内存问题。
可以使用读一行改一行的方式
如果我此时我想把以前的文件干掉,然后现在文件名字用之前文件的名字:
监控日志文件,找到每分钟请求大于200的ip地址,加入黑名单,首先我们分析需求
三元表达式和列表生成式(个人感觉很少用)
集合
其中交集和并集用的比较多
json操作
python数据(字典)转换为json数据 json.dumps()
json数据转换为python数据 json.loads()
将字典转换成json并写入文件中
从文件读取json,然后将json转换为字典
函数(方法)
默认值传参数
参数可以这么写def op_file(file_name,contnet="NB")
参数组(参数一般用*xxxx展示,*args)
关键字参数(参数一般用**xxxx展示,**kwargs)
多种组合的混合参数
简便方式传值
判断小数
函数返回值