用python编写最简单的记事本_利用Python制作一个“电子记事本”
案例内容
今天的挑战就是写一个“记事本”小程序。程序的功能分为三个部分:
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制作一个“电子记事本”相关推荐
- 怎么用python编写记事本_利用Python开发实现简单的记事本
利用Python开发实现简单的记事本 最近想对 python 加深学习一下,同时也是想试着做一些东西,所以使用 python, 结合 Tkinter 来做一个简单的跨平台记事本.最终实现的记事本如下, ...
- python编写统计选票的程序_使用python编写微信公众号发稿统计程序
近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题.时间.作者等. 首先考虑查看公众号后台有无统计功能,看到的界面如下: 每页只显示7天的消息,且没有部门作者信息.再看另一界面: 只统计 ...
- python编写win 本地reader程序_使用Python、win32api和Acrobat Reader 9打印PDF
我有报告,我要发送到一个系统,要求报告是可读的PDF格式.我尝试了所有的免费库和应用程序,我发现唯一有效的是Adobe的acrobat家族.在 我用python编写了一个快速脚本,它使用win32ap ...
- Python爬取网站用户手机号_利用python爬取慕课网站上面课程
1.抓取网站情况介绍 抓取网站:http://www.imooc.com/course/list 抓取内容:要抓取的内容是全部的课程名称,课程简介,课程URL ,课程图片URL,课程人数(由于动态渲染 ...
- python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件
利用Python如何批量修改数据库执行Sql文件 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...
- python爬取小说网站资源_利用python的requests和BeautifulSoup库爬取小说网站内容
1. 什么是Requests?html Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库.python 它比urlli ...
- python中θ符号怎么打出来_利用python打印特殊符号
原博文 2020-05-02 19:57 − 1.方法一,调用字符映射表输入特殊符号 在键盘上按win+R,在打开的对话框中输入"charmap",会出现字符映射表: 2.利用字符 ...
- python实现app自动签到器_利用Python实现App自动签到领取积分
要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...
- python如何爬取sci论文_利用python爬取并翻译GEO数据库
GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这里面挖掘(bai piao)数据,发个sci提前 ...
最新文章
- 使用VS2010调试技巧让C指针无处遁形
- 微服务平台的发展趋势
- oracle手工快照,创建oracle快照的步骤
- OpenCV F变换理论F-transform theory
- 482. 密钥格式化
- leetcode551. 学生出勤记录 I
- git远程分支修改名字
- ELF(Executable Linkable Format)文件存储格式
- linux测试内网速度慢,shell多线程快速检测内网ip是否存活
- vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on.
- EazyDraw for Mac(矢量图绘制软件)
- qq说说时间轴php实现,qq空间时间轴 PHP实现时间轴函数代码
- 永不熄灭的火花·《煎饼侠》
- Codeforces Round #439 C.The Intriguing Obsession(组合数学)
- SpringBoot异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)
- 淘宝客返利app迎来消费者时代!高省报告
- markdown文字居中以及尺寸颜色设置(二)
- 华为云讲解:1. Istio架构与原理
- 读其他俱乐部WeeklyReport
- 李佳琦薇娅发难、欧莱雅道歉,直播“最低价”是福还是祸?|钛度热评