学习过程中总会遇到想把一些知识点记录下来备忘,也便于以后查找。只要掌握词典这种数据类型和文件操作,就可以编写一个Python程序完成这样的工作。字典的操作,上一课已经学了,但文件操作还没有,下面对文件操作进行简单介绍。
先用记事本在程序存放文件夹下用utf-8创建一个文本文件“myPython.txt":
注:如果出现乱码,把编码类型改为:
1、读文件(当第二参数忽略,默认是读文件):
程序文件代码:
执行输出:
观察输出结果中列表第一项后多了"\n”,这是换行符,如果直接把每项都打出来会怎样呢?
程序代码:
输出结果:
可见,行之间多了一个空行,解决办法有2个:
办法一:打印时利用字符串内置函数rstrip消除列表中的换行符"\n"
办法二:打印时取消print函数的默认换行功能
如果文件很大,用read和readlines函数都可能使程序运行很慢,甚至出现内存溢出。Python用for......in......句型提供了逐行读取功能。
2、写文件
(1)只写文件,旧内容被覆盖:
写前文件内容:
程序代码:
执行后文件内容:
可见,对话没有换行,程序有bug,修正的办法是在所写的字符串最后加换行符"\n"如下:
重新运行后文件内容:
成功排除bug!
(2)追加文件内容
追加前文件:
程序文件:
已存在的文件追加后:
不存在的文件追加后生成了:
(3)读写文件:“w+”参数包括“w”参数提供的功能,因此可以当作“w"参数来使用。不同之处是"w"只能顺序写文件,”w+"支持非顺序写文件(这里不讨论非顺序写文件)。
《我的知识词典》程序代码:
练习题:把上面的程序,打入py文件中后运行。