1、要写入一个文件,需要使用‘w’模式作为第二个实参来打开它,write方法是把数据写入到文件中,返回值是写入的字符数目,如果你再次调用write,它会在文件的结尾处添加新的数据,当写入完毕时,应该关闭文件,第8行
写入的数据存储在output.txt记事本中,如下图
2、在写入的内容后面加上\n,在记事本中会换行显示,如下图所示
3、格式操作符% 第一个操作对象是格式字符串,包括了一个或多个格式序列,它们指定第二个操作对象如何格式化
第25行和第31行 ‘%d’ 意味着第二个操作数应该被格式化为十进制整数
第32行-35行 格式序列可以出现在字符串的任何地方,在一个句子中可以嵌入变量值
第34行和35行 字符串有多于一个格式序列,第二个操作对象就必须是元组,每个格式序列按顺序对应元组中的一个元素
‘%d’ 格式化整数 ‘%g’ 格式化浮点数 ‘%s’格式化字符串
4、元组中元素的个数必须和字符串中格式序列的个数一致,元素的类型也要和格式序列一致
5、os 操作系统
os 模块提供了用于操作文件和目录的函数
os.getcwd() 返回当前目录的名称 cwd(current working directory 当前工作目录)
os.path.abspath() 找寻文件的绝对路径
os.path.exists() 检查一个文件或目录是否存在
os.path.isdir() 检查它是否为目录
os.listdir() 返回指定目录中文件(以及其他目录)的列表
6、打印所有文件的名称,并对其中的子目录进行递归调用自己
os.path.join() 接收一个目录和一个文件名称,并将它们拼接为一个完整的路径
7、数据库
数据库是一个有组织的用于存储数据的文件。许多数据库都像字典一样组织数据(键——>值)
模块dbm提供了接口用于创建和更新数据库文件
第63行 打开一个数据库 模式‘c’意味着数据库应当被创建 ,结果是一个数据库对象
第64行,当创建一个新项,dbm会更新数据库文件 第65行,当访问数据库中的一项时,dbm会读取文件 这里的结果是一个字节组对象 (b开头)
第66行 使用for循环 来迭代遍历 获取键和值
8、dbm中键和值都必须是字符串或字节 而pickle 模块可以将几乎所有类型的对象转换为合适保存到数据库的字符串形式,并可以将字符串转换回来成为对象
pickle.dumps接收一个对象作为参数,并返回它的字符串表达形式,如第76行
pickle.loads()重新构造对象 但是由79行可知,这两个对象的值是一样的,但是不是同一个对象
9、读取自身内容,并打印出文件的行数