再识Python笔记(六)
10.文件和异常
创建文件
“r” : 读取文件
“w” : 写入模式
“a” : 附加模式
“r+” :读取和写入文件模式
省略模式,Python将以默认的只读模式打开文件
注意:
- 当写入文件不存在时,函数open()将自动创建它,然而当以写入模式打开文件时,若指定文件存在,Python将在返回文件对象前清空该文件
- 将数值数据储存在文本文件中,必须先使用函数str()将其转换为字符串格式
- 在写入多行时,要在文本末尾加换行符
1 filename = 'programming.txt' 2 3 with open(filename,'w') as file_object: 4 file_object.write("I love programming")
读取文件
with open('programming.txt') as file_object: contents = file_object.read() print(contents)
用函数open()打开文件
关键字with在不需要访问文件后将其关闭(比close()更智能)
文件路径:
相对文件路径:文件所在位置相对于当前运行的程序所在目录的文件路径
绝对文件路径:文件在计算机中的准确位置
在windows中要在文件路径中使用反斜杠。
可使用for循环对文件对象以每次一行的方式读取。
使用with时,open()返回的文件对象只在with代码块中可用,如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中,并在with代码块外使用该列表。
10.3异常:
使用try-except代码块处理:告诉python在发生异常时该如何做。
使用pass语句让程序在出现异常时一声不吭,pass语句还充当了占位符。
10.3.6分析文本
方法split()以空格为分隔符将字符串分拆成多个部分。
10.4存储数据
使用模块json来存储数据
函数json.dump()存储数据,接受两个实参:要存储的数据以及可用于存储数据的文件对象
通常使用文件扩展名.json来指出文件存储的数据为JSON格式
10.4.3重构
将代码划分为一系列完成具体工作的函数
重构让代码更清晰、更易于理解、更容易扩展。
11测试代码
使用Python模块unittest中的工具来测试代码
在测试类时,可以使用setUp(),这样在编写程序时就只需创建一次对象,并在每个测试方法中使用它们。在执行时Python将先运行它,在运行各个test_打头的方法。