python应用程序设计 易建勋,python应用程序框架

本文介绍了如何在Python应用程序中管理不同环境的配置,强调了__init__.py文件的作用,以及如何利用它来执行初始化代码。作者还讨论了Python包的定义和潜在的恶意使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,给大家分享一下python应用程序设计 易建勋电子版,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

    让我们来讨论一下如何配置Python应用程序,特别是那些可能存在于多个环境中的应用程序——开发环境、模拟环境、生产环境等等……

    应用程序中使用的工具和框架并不是特别重要,因为我将在下面概述的方法是基于普通Python的快码知识。这种方法的出现是由于使用Django设置会令人懊恼,此外,这种方法还是我将要处理的任何Python应用程序的首选```*``

概述:Python模块和包

    我最喜欢的Python特性之一是,构成你应用程序的文件和目录与你在代码中导入和使用它们的方式是一一对应的GPT改写

例如,给定这个import语句:
在这里插入图片描述

我们可以推断出以下目录结构:
在这里插入图片描述

许多语言和框架都依赖于这个新概念,包括Clojure和ES6。

    在我们的示例中,Python将utils目录视为一个Package。当你在一个目录中放置一个空的__init__.py时,该目录就变成了一个包。

    作为一名Python黑客,你可能会遇到这样一个常见的场景,其中有一个utils.py文件最终会变得太大,因此你将它拆分成一个包含许多较小文件的utils//目录。

当遇到这种情况时,我们可以做以下事情:
在这里插入图片描述

    所以现在我们已经看到了一个Python包是由一个目录中是否存在一个__init__.py文件决定的…但是如果这个文件不是空的呢?

在__init__.py中放入代码

    由于它只是一个普通的旧Python文件,你可以把任何你想要的东西放在其中,该文件会在第一次导入包时被执行。

>>>旁注

通常我们不赞成将代码放在__init__.py中,因为它会在导入时带来意想不到的副作用。

你可以自己测试一下。创建一个名为foo的目录,并给它一个空的__init__.py文件。

从相同目录中的Python REPL运行以下代码:
在这里插入图片描述

这里没有输出是很好的,这意味着语句成功运行。

现在让我们编辑我们的__init__.py文件以包含以下代码:
在这里插入图片描述

sys.exit()通常用于使一个进程以特定的状态退出。

    在一个新的REPL中重新运行相同的实验,你将观察到你的Python shell在导入之后会立即退出。在更大的应用程序中,效果会更明显:整个应用程序将退出。

这样,我们了解了基本原理,并了解了如何恶意使用此功能。

也许我们可以用它来做好事?

多个环境&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值