●文件读写

1.文件读写主要分为以下模式

模式 说明  
r 能读不能写,打开不存在的文件会报错
w 能写不能读,会清空以前的内容
a 追加 能写不能读,不会清空以前的内容
r+ 读写模式 能读能写,打开不存在的文件不会报错
w+ 写读模式 能读能写,会清空以前的内容
a+ 追加读模式 能读能写,不会清空以前的内容

 ①第三种模式:r+

读写模式,先读和后读时,写入的位置不一样

先读时,在文件末尾写入内容(指针在内容的末尾)

后读时,在文件开头写入内容,并且覆盖之前的内容(指针在内容的开头)

②第四种模式:w+

写读模式,写完之后读不到东西(指针在内容的末尾)

③第五种模式:读不到东西(指针在内容的末尾)

以上模式,因为文件指针原因,读到全部内容,用f.seek(0),将文件指针条到文件开头即可。

2.修改文件

方法一:替换文件内容,直接删除文件内容,将替换的文件内容写入即可(用于内容较少的文件)

方法二:逐行修改

另外,可以使用with open('a.txt',encoding='utf-8') as f1的格式。可以不用再谢f1.close9(),系统会判断什么时候关闭文件,如下:

 

如果写入之后发现内容并没有显示在磁盘上,使用f2.flush(),刷新缓冲区,直接写到磁盘里

3.高效读文件方法:直接读每一行,如下

4.补充知识点

5.布尔类型

布尔类型对象可以被赋予文字值true或者false,所对应的关系就是真与假的概念。

 非空即真,非零即真

6.JSON 函数

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。

①json.dumps:将 Python 对象编码成 JSON 字符串

②json.loads:将已编码的 JSON 字符串解码为 Python 对象,接上

③用json将字典转化为字符串,写入文件中

 

或者,用以下方法

④用json将字符串写成字典

或者用以下方法:

注:JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.load

 ●函数-自定义函数

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

1.定义一个函数:

 

•  函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()

•  任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

•  函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

•  函数内容以冒号起始,并且缩进。

•  return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

如下:定义一个写入msg的函数

调用函数,输出结果为:你好

定义一个文件写入的函数

2.函数里面定义的变量都是局部变量,只在函数里面可以用,除了函数就不能用了。因此需要使用return [表达式]

return [表达式] 结束函数,选择性地返回一个值给调用方。

不带表达式的return相当于返回 None。

使用时,用一个变量接收函数返回值

返回值多个值得时候,返回一个元组。并且可以使用对应的变量个数来接收返回值:

调用函数:

打印结果:

使用对应返回值个数的变量接收返回值:

打印结果:

 例子:判断一个数是否为小数

3.默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。

用默认函数进行判断,当默认值不为空时,以写模式进行。当默认值为空时,以读的模式进行

当参数较多时,传参数:

4.全局变量:

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用

打印的结果为:users.ison(全局变量的值),因此在想要修改全局变量时,应使用global,进行声明

注意:函数不调不会被执行

5.常量:一般常量用全大写字母定义,如:IP = 3.14(IP为常量)

 

posted on 2019-09-22 21:58  buntei  阅读(135)  评论(0编辑  收藏  举报