昨天写了随机推荐联系人的程序。
在增加一个比如突然想起想要和某人保持联系,要能够自行添加利息人进入联系人列表。
现在难点是python怎么不清空原有联系人的情况下,写入新添加的联系人。
with 语句的好处是可以自动关闭文件。
其中open(内容,' ')的'r','w','a'方式作用不同:
'r':read,只读取文件内容,若文件不存在,则报错。
'w':write,可以向文件写入内容,但是清空文件中之前的内容。若文件不存在,则创建文件。
'a':add,在文件原有内容后直接添加内容。若文件不存在,则创建文件。
'a'是不换行直接写入,为了联系人不混乱,写入了'\n'。
然后应该把写入的语句封装成一个函数,方便调用。
为什么把eadlines()赋值到一个变量就可以正常得到联系人个数?
而不把readlines()赋值给变量时就不行呢???
把打印联系人个数的语句再封装回函数:
还存在一个问题,如果txt内已经存在该联系人呢?
用if in 语句,不能实现:
原因是readlines()读取的txt中的名字包含有换行符\n,而变量friends中的名字没有换行符,所以它们是不一样的。
line =''.join(line).strip('\n')语句用于消除readlines()读取到的数据后的\n。
好了,终于实现了所有功能:
主函数入口又忘了,写错了。服!
if __name__ == '__main__':
if __name__ == '__main__':
if __name__ == '__main__':