day 3 文件操作 高效读取文件 修改文件 非空即真 json模块 函数(definition)

  一、文件基本操作   二、高效读取文件    三、修改文件  四、非空即真   五、json模块  六、函数

一、文件基本操作 (文件指针seek(0当前文件指针位置f.teel()    如果f.write('kskk') 文件中没内容,执行下f.flush()  刷新缓冲区把内存缓冲区的内容直接写到磁盘里

with open('a.txt',encoding='utf-8') as f1,open('b.txt','w',encoding='utf-8') as f2:   (这种方法可以自动关闭文件,可同时打开多个文件)

1.读文件(读不存在的文件会报错)

 

 

 

2.写文件(写之前会清空文件)

 

 

3.a 追加,但不会 清空以前的内容

4.R+  读写 (此时文件指针位置在开始位置)           W+ 写读 (执行该操作后先清空文件)       A+ 追加读模式(文件指针位置在最后面)

 

 

 二、1.高效读取文件(for  line  in f )在python中把每行文件读取后有有换行符,在python中打印出来,读的时候在换行后再另起一行

 

 

2.监控服务器日志练习(注意每过一分钟,文件指针的位置)

 

 三、修改文件       (文件的修改 两种方法,第一种适合大文件,第二种,适合小文件)

第一种是逐行循环修改

 

 

 

四、非空即真,非0即真

 

 

五、1.json模块(json.dumps(d,ensure_ascii= False,indent =4)有中文显示中文  控制缩进 (json.loads()json转换为字典)

 

 

2.(json.dump(d,f,ensure_ascii= False,indent =4) 直接操作文件把字典d转换成json串写入文件中,不用再读取文件操作)(而d = json.load(f) 直接操作文件,把json串读取后转成字典)

 

 

 

六、函数  definition(就是把一段代码封装起来,函数调用才执行)

   {1.函数返回多个值时返回元组 d函数 return a,b,c      a,b,c = d      2.函数不写返回值,返回none  3.函数里遇到return函数立即结束  4.在函数定义全局变量  global a  a=5。一个变量在函数中,优先使用函数中的变量}   常量  全用大写字母定义 (定义后不想让改  PI =3.14)


1.函数的定义,调用,返回值,传参,全局变量

 

 

 

 

2.函数调用才执行,不调用不执行

 

 

 

 

  函数的参数     def  d(file,c=None)c的值不传的话,默认传None  ,传的话用传的值。     传参是可以对应传参,也可传参时赋值。也可以两者混合用但是对应的应先写。   

  常量就是一个不会变的变量,一般用大写字母定义。

func_map = { '1':add,'2':update,'3':delete,'4':show,'q':quit }
for i in range(4):
   choice = input('1、add 2、update 3、delete 4、show q 退出:\n').strip()
   if choice in func_map:
     func_map[choice]()
   else:
     print('输入有误!')         写选择的时候,可以先把写在字典中,然后调用字典中的值,间接调用函数。  函数即变量

posted @ 2019-09-22 19:25  戒七  阅读(399)  评论(0编辑  收藏  举报