2018-12-20派森学习第32天

昨天写了随机推荐联系人的程序。

在增加一个比如突然想起想要和某人保持联系,要能够自行添加利息人进入联系人列表。

现在难点是python怎么不清空原有联系人的情况下,写入新添加的联系人。

with open()

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__':

成功
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,218评论 0 10
  • 这是计廿2017年的第二篇瞎说。 一 Haji站在地图上。 某个人在某个时间点把Haji放在了这里,然后消失在了某...
    计廿阅读 3,465评论 0 1
  • 君子求诸己,小人求诸人。 这句话的意思是:具有君子品行的人,遇到困难首先想到的是要靠自己去解决,不到万不得已不去求...
    帅骅阅读 4,286评论 1 0
  • 故事的主人公杨歌在他们家的阁楼里发现一辆除了铃不响,其他哪里都响的破自行车。不过,你可别小看它,它会变形,变...
    十班的王赫阅读 3,064评论 0 1
  • 每天一画,慢慢努力。
    阿拉斯加海湾0阅读 2,823评论 2 3