ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

我只是滥用Python的导入系统还是可以的?

2019-08-27 01:55:59  阅读:128  来源: 互联网

标签:python import twisted


我正在使用Twisted构建一个Web应用程序,对于站点资源,我有一个这样的结构:

/resources
    __init__.py
    file.py
    javascript.py
    images.py
    wsdl.py
/pages
    __init__.py
    page.py
    static.py
    login.py
    ...etc...

其中file.py和page.py包含具有共同功能的父类(例如,分别是文件路径验证和会话/模板).每个其他脚本包含一个类,它是一个扭曲的资源.我的__init__.py文件如下所示:

import javascript
Javascript = javascript.Javascript

import images
Images = images.Images

...

所以,在主脚本中,在将执行交给twisted之前,我只能导入资源;导入页面,然后只引用resources.Javascript(),pages.Login()等,而不是必须写

from resources.javascript import Javascript
from resources.images import Images
from resources.wsdl import WSDL
from pages.static import Static
from pages.login import Login
...

然后使用这些类中的每一个来构建站点结构.它很快变得难以驾驭.

请注意,我并没有接近这个问题,“我总是将成为这个项目的唯一开发者,因此无关紧要”的心态.

这是对进口系统的非人道滥用吗?我应该从页面导入*中扣除并使用,然后使用pages.Static(),pages.Login()等?

如果这适用于站点资源,因为每个文件包含一个充当该资源的类,那么在其他地方采用以避免长串导入是不合适的,还是只会导致头痛?

解决方法:

你有什么理由不想使用(在资源/ __ init__.py中):

from javascript import Javascript
from images import Images

这意味着在客户端代码中您仍然可以执行以下操作:

import resources
js = resources.Javascript()
imgs = resources.Images()

在任何一种情况下,我都认为在__init__.py中导入各种定义以使它们直接通过导入库/子包命名空间可用时没有任何问题.这是一个很常见的习语,我经常使用它.

标签:python,import,twisted
来源: https://codeday.me/bug/20190827/1735902.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有