●文件读写
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为常量)