案例内容

今天的挑战就是写一个“记事本”小程序。程序的功能分为三个部分:

1、把内容记录到文件。

2、显示记录的所有内容。

3、删除不再需要的内容。

正式的“记事本”程序实际上很复杂,在手机市场中搜索,能找到上千种app,对于用户体验等方面的设计和功能要求非常高,竞争激烈。我们在这里出于学习目的,并且主要集中在对于文件操作的学习,所以一切都比较简化。

在挑战的题目中,实际上已经把程序分了3部分功能,保存、显示和删除。这等于已经帮助我们进行了整体程序结构的设计。我们沿着这个思路,先使用“伪代码”的形式,把流程梳理清楚。

把内容记录到文件

1、获取要记录的内容(笔记内容),这里有一个待解决的问题,就是如何获取?

2、打开文件用于写出

3、保存笔记内容

4、关闭文件

显示文件内容

1、打开文件读取

2、逐行读取文件内容

3、显示

4、关闭文件

删除不需要的内容

1、首先的问题,如何定位不需要的内容?

2、在显示文件的过程中,对内容按照行进行编号

3、打开文件用于读取

4、全部读取

5、关闭文件

6、打开文件用于写出

7、循环遍历所有行,跳过要删除的行,写出

8、关闭文件

共性问题

三个小程序,都应当读、写同一个文件,否则无法互相配合

逻辑写的并不复杂,我们在下面源码的部分再更细致的讲解。这个“伪代码”提纲的功能,是让你在开始编写程序的时候,不至于不知道如何下手。

既然第4个共性的问题涉及到三个小程序,我们先从这个问题开始解决。方法非常简单,短到只有一行代码:

filename="daily.txt"

这一行代码只是定义了一个字符串变量filename,表示我们使用的记事文件名称。重点在于这行代码如何使用。

程序库

我们的课程一开始就大肆鼓吹Python的程序库如何丰富,我们今天就来自己定义一个程序库。上面这个仅仅一行代码的程序,我们保存为common.py,文件名不要输入错,因为我们后面还要用到。

此时common.py就称为一个程序库,虽然看上去很简陋,但它就是程序库。我们在这里很大程度出于演示程序库应用的目的。因为这样简单的功能,并非必须用程序库的方法解决。

现在我们有了一个程序库,使用程序库的方法有三种,我们使用源代码来展示:

这三种方法,各有不同的应用场景,可以根据自己的喜好选择。

现在已经可以动手写第一个小程序了:

第二个小程序,显示记事文件内容:

第三个小程序,删除记事文件中不要的行:

总结:

文件操作是一个软件的基本操作,用处非常多

文件有多种多样的格式,比如音乐、视频、照片、文本

程序文件是文本文件,也就是由文字、字符组成的文件,我们的样例“笔记本”程序所记录的文件也是文本文件。

文件的操作要小心,以免破坏掉有用的文件

扩展库(或:扩展程序库)是Python扩展功能的主要形式,Python有世界上各个公司、组织发布的海量扩展库资源,在所有的语言中是最多的,Python也因此被称为“胶水语言”,意思是把扩展库的功能粘合在一起

编程,重要的是由思路。大项目拆成小项目,逐层细化。在这个过程中,我们原来介绍了用函数化来管理这些分拆的每一个部分。今天又学到了程序库,用不同的程序库来分类一组相应的函数或者变量

用python编写最简单的记事本_利用Python制作一个“电子记事本”相关推荐

  1. 怎么用python编写记事本_利用Python开发实现简单的记事本

    利用Python开发实现简单的记事本 最近想对 python 加深学习一下,同时也是想试着做一些东西,所以使用 python, 结合 Tkinter 来做一个简单的跨平台记事本.最终实现的记事本如下, ...

  2. python编写统计选票的程序_使用python编写微信公众号发稿统计程序

    近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题.时间.作者等. 首先考虑查看公众号后台有无统计功能,看到的界面如下: 每页只显示7天的消息,且没有部门作者信息.再看另一界面: 只统计 ...

  3. python编写win 本地reader程序_使用Python、win32api和Acrobat Reader 9打印PDF

    我有报告,我要发送到一个系统,要求报告是可读的PDF格式.我尝试了所有的免费库和应用程序,我发现唯一有效的是Adobe的acrobat家族.在 我用python编写了一个快速脚本,它使用win32ap ...

  4. Python爬取网站用户手机号_利用python爬取慕课网站上面课程

    1.抓取网站情况介绍 抓取网站:http://www.imooc.com/course/list 抓取内容:要抓取的内容是全部的课程名称,课程简介,课程URL ,课程图片URL,课程人数(由于动态渲染 ...

  5. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件

    利用Python如何批量修改数据库执行Sql文件 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...

  6. python爬取小说网站资源_利用python的requests和BeautifulSoup库爬取小说网站内容

    1. 什么是Requests?html Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库.python 它比urlli ...

  7. python中θ符号怎么打出来_利用python打印特殊符号

    原博文 2020-05-02 19:57 − 1.方法一,调用字符映射表输入特殊符号 在键盘上按win+R,在打开的对话框中输入"charmap",会出现字符映射表: 2.利用字符 ...

  8. python实现app自动签到器_利用Python实现App自动签到领取积分

    要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...

  9. python如何爬取sci论文_利用python爬取并翻译GEO数据库

    GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这里面挖掘(bai piao)数据,发个sci提前 ...

最新文章

  1. 使用VS2010调试技巧让C指针无处遁形
  2. 微服务平台的发展趋势
  3. oracle手工快照,创建oracle快照的步骤
  4. OpenCV F变换理论F-transform theory
  5. 482. 密钥格式化
  6. leetcode551. 学生出勤记录 I
  7. git远程分支修改名字
  8. ELF(Executable Linkable Format)文件存储格式
  9. linux测试内网速度慢,shell多线程快速检测内网ip是否存活
  10. vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on.
  11. EazyDraw for Mac(矢量图绘制软件)
  12. qq说说时间轴php实现,qq空间时间轴 PHP实现时间轴函数代码
  13. 永不熄灭的火花·《煎饼侠》
  14. Codeforces Round #439 C.The Intriguing Obsession(组合数学)
  15. SpringBoot异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)
  16. 淘宝客返利app迎来消费者时代!高省报告
  17. markdown文字居中以及尺寸颜色设置(二)
  18. 华为云讲解:1. Istio架构与原理
  19. 读其他俱乐部WeeklyReport
  20. 李佳琦薇娅发难、欧莱雅道歉,直播“最低价”是福还是祸?|钛度热评

热门文章

  1. 永州动力电池实验室建设合理布局方案
  2. tensorboard网页打不开
  3. Win11打不开Windows安全中心
  4. docker系列—聊一聊存储驱动Btrfs
  5. 西门子smart200和v90 pn通讯控制3轴伺服程序,触摸屏程序
  6. java随机生成订单号
  7. 迪杰斯特拉算法及其堆优化
  8. Ubuntu下制作Gif图片
  9. 14 款 Chrome 官方出品主题 ~ 颜值绝绝子~
  10. 【Python学习笔记(五)】csv模块的使用