《Python基础教程》笔记 第28章 项目9:文件共享2——GUI版本
这是个相对较小的项目,因为需要的大部分功能都已经在第27章写好了。在本章中,你将看到给已有的Python程序添加GUI多么容易。 28.1 问题描述 在这个项目中,我们将扩展第27章开发的文件共享系统,添加GUI客户端,让程序更容易使用。这个项目的第二个目标是展示具有足够高的模块化设计的程序非常容易扩展。 这个GUI客户端应该满足以下需求: 允许用户输入文件名,并将其提交给服务器的...
这是个相对较小的项目,因为需要的大部分功能都已经在第27章写好了。在本章中,你将看到给已有的Python程序添加GUI多么容易。 28.1 问题描述 在这个项目中,我们将扩展第27章开发的文件共享系统,添加GUI客户端,让程序更容易使用。这个项目的第二个目标是展示具有足够高的模块化设计的程序非常容易扩展。 这个GUI客户端应该满足以下需求: 允许用户输入文件名,并将其提交给服务器的...
本章的项目是一个简单的文件共享应用,类似于BitTorrent (https://www.bittorrent.com/)等软件。 我们将使用的主要技术是XML-RPC,这是一种远程过程调用的协议。 27.1 问题描述 我们要创建一个P2P文件共享程序。文件共享意味着在运行于不同计算机上的程序之间交换文件。P2P (peer-to-peer)是描述计算机程序之间一种交互方式的术语,不同于...
本章将实现一个基于Web的论坛。 26.1 问题描述 在这个项目中,你将创建一个通过Web发布和回复消息的简单系统,可以作为论坛(discussion forum)使用。 本章介绍的技术不仅可用于开发独立的论坛,还可用于实现更通用的协作系统,例如问题跟踪(issue-tracking)系统、带评论功能的博客等。将CGI和数据库结合使用功能强大且用途广泛。 具体地说,最终的系统应该满足以...
本章的项目使用第15章详细讨论过的CGI实现远程编辑——在另一台机器上通过Web来编辑文档。这在协作系统中很有用,例如多人协作编辑一个文档。也可以用来更新网页。 25.1 问题描述 你在一台机器上存储了一个文档,希望能够在另一台机器上通过Web来编辑它。这能够让多个用户协作编辑一个共享文档,而无需使用FTP或类似的文件传输技术,也无需担心同步多个副本的问题。要编辑文件,只要有Web浏览器就...
在这个项目中,我们将做些正式的网络编程。我们将编写一个聊天服务器,让人们能够通过网络实时聊天。使用Python创建这种程序的方式有很多。在本章中,将使用标准库中的异步网络模块。 值得注意的是,本章使用的asyncore和asynchat模块已在Python 3.6中弃用、在3.12中移除。如果愿意,可以尝试使用第14章讨论的其他方法(例如分叉或线程),甚至使用新的asyncio模块重写这个...
互联网上充斥着各种形式的新闻源,包括报纸、视频频道、博客、播客等等。有些新闻源还提供诸如RSS或Atom feed等服务,让你使用相对简单的代码就能获取最新的新闻,而无需对网页进行解析。在这个项目中,我们将探索一种比Web更早面世的机制:网络新闻传输协议(Network News Transfer Protocol, NNTP)。我们将从一个没有任何抽象(没有函数、没有类)的原型到一个添加了...
在C++多线程环境下,全局变量、局部变量、静态变量和thread_local变量的区别如下: 全局变量 局部变量 静态变量 thread_local变量 存储期 程序运行期间 函数调用期间 程序运行期间 线程运行期间 ...
这个项目的目标是根据描述各种网页和目录的单个XML文件生成完整的网站。 有关XML的简洁描述,参见W3C网站的文章 “XML in 10 points” 。XML的详尽教程可以在W3Schools网站(https://www.w3schools.com/xml/)上找到。有关SAX的详细信息,参见官网(http://www.saxproject.org/)。 22.1 问题描述 在这个项...
本章介绍如何使用Python创建图形。具体地说,你将创建一个PDF文件,其中包含的图表对从文本文件读取的数据进行可视化。 21.1 问题描述 Python很善于分析数据。俗话说,一图胜千言(A picture is worth a thousand words)。在本章中,你将学习ReportLab包的基本知识,它让你能够像创建文本文件一样轻松地创建PDF格式(和其他格式)的图形和文档。 ...
本章介绍如何使用Python杰出的文本处理功能将纯文本文件转换为用HTML或XML等语言标记(mark up)的文件。如果需要HTML简介,网上的相关教程数不胜数,例如Getting started with HTML。 20.1 问题描述 你希望给纯文本文件添加格式。假设你要将一个文件用作网页,而给你文件的人嫌麻烦,没有以HTML格式编写它。你不想手动添加需要的所有标签,而是想编写一个程...