加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

给中级Python开发者的13个练手项目,适合你不?

发布时间:2019-08-30 21:56:48 所属栏目:优化 来源:机器之心
导读:Web 项目设计 内容聚合器(Content Aggregator) 1. 技术细节 该项目设计的主要目标是聚合内容。首先,我们需要知道内容聚合器从哪些站点获取内容。然后,使用请求库来发送 HTTP 请求,并使用 BeautifulSoup 解析和抓取站点的必要内容。 该应用程序可以将其

应用程序将从用户那里获得数据。这里的数据是输入的支出。因此,费用需要存储在数据库中。SQLite 数据库是该项目的一个很好的选择,因为它可以快速设置。可以将 sqlite3 模块用于 SQLite 数据库。

2. 额外挑战

为了让用户从这个项目中受益,他们需要在应用程序中定期输入自己的支出,但人们可能经常遗忘。所以添加一个提醒功能很有效。如此一来,应用程序就会在每天或每周的特定时间发送通知,提醒用户们使用记账工具。

命令行项目设计

通讯录

1. 技术细节

该项目的主要目标是保存联系方式。设置可以让用户输入联系人详细信息的命令非常重要。可以使用 argparse 或 clickcommand-line 框架。它们简化了很多复杂的东西,所以你只需要关注执行命令时要运行的逻辑即可。

此外,还有一些功能需要实现,如删除联系人、更新联系人信息和列出已保存联系人。还可以允许用户使用不同顺序列出联系人,例如字母顺序或联系人创建日期。

它是一个命令行项目,用 SQLite 数据库就可以很好地保存联系人。SQLite 的设置非常友好。你可以将联系人详细信息保存在文件中,但文件不会具有 SQLite 的优势,例如更好的性能和安全性。

要在此项目中使用 SQLite 数据库,Python sqlite3 模块将非常有用。

2. 额外挑战

还记得数据库是如何存储在用户的计算机上的吗?如果用户文件丢失了会怎么样?这意味着他们也会失去联系方式。

进一步的挑战是将数据库备份到在线存储平台。为此,可以按特定间隔将数据库文件上传到云。 还可以添加允许用户自己备份数据库的命令。这样,如果数据库文件丢失,用户仍然可以访问联系人。

应该注意,你可能需要某种形式的标识,这样通讯录就可以识别哪个数据库文件属于哪个用户。实现用户身份验证功能是实现此功能的一种方法。

网站连接检查

1. 技术细节

该项目的主要目标是检查网站的状态。因此需要编写用于检查网站状态的代码。

你可以选择使用 TCP 或 ICMP 进行连接。socket 模块是用于检查的模块。还可以阅读 Python 指南中的 socket 编程。

无论是 docopt、click 还是 argparse 框架,都可以添加命令,从而允许用户在要检查的网站列表中添加和删除某网站。

用户还应该能够启动工具、停止工具并确定间隔。

由于必须保存要检查的文件列表,因此我们可以将其保存在文件(只是网站列表)中,也可以通过 sqlite3 模块使用 SQLite 数据库。

2. 额外挑战

该应用程序也可以检查站点的连接状态,并将结果显示在命令行中。但这要求用户继续检查命令行。

也可以增加通知功能。通知功能可以在站点状态发生变化时,在后台通过声音提醒用户。你需要一个数据库来存储网站的先前状态。这是该工具可以判断状态何时发生变化的唯一方式。

批量文件重命名工具

1. 技术细节

这个项目的主要目标是重命名文件。因此,应用程序需要找到一种操作目标文件的方法。os、sys 和 shutil 库对这个项目很有用。

你的用户将能够使用命名约定重命名目录中的所有文件。因此,他们应该能够自主制定命名约定。如果你了解正则表达式的工作原理,那么 regex 模块能辅助匹配所需的命名模式。

用户可能希望传递命名约定(例如 myfiles)作为命令的一部分,并期望该工具能重命名所有文件,如 myfilesXYZ,其中 XYZ 是数字。他们还应该能够选择要重命名的文件所在的目录。

2. 额外挑战

该项目的主要挑战是重命名目录中的所有文件。但是用户可能只需要命名一定数量的文件。因此你可以实现一项功能,允许用户选择要重命名的文件数,而不是所有文件。

请注意,仅重命名一定数量的文件将需要该工具根据字母顺序、文件创建时间或文件大小对文件进行排序,具体取决于用户的要求。

目录树生成器

1. 技术细节

目录树生成器的主要目标是可视化文件和目录之间的关系。os 库在列出目录和所选目录中的文件时非常有用。

诸如 docopt 或 argparse 之类的框架能简化很多内容,使你可以专注于为应用程序的逻辑编写代码。

在应用程序的逻辑中,你可以决定如何表示文件或目录。使用不同的颜色是一个很好的方法。你可以使用 colored 库以不同颜色打印文件和目录。

还应该可以设定目录树生成器的深度。例如,如果一个目录的子目录有 12 级,而你只需要用到第五级。

如果你愿意,还可以让用户自主决定目录树生成器的深度。

2. 额外挑战

由于生成的目录树结果将出现在命令行上,因此可以更进一步,让生成器创建目录树的图像,即实现文本转图像的操作。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读