【问题标题】:Package up Python files打包 Python 文件
【发布时间】:2014-02-08 06:16:52
【问题描述】:

我有一个文件夹:

tastyfood

我有四个班级:

chocolate.py
sweets.py
crisps.py
tuna.py

假设我想把四个类放在文件夹tastyfood

所以我可以进行如下输入:

import tastyfood 

并且所有类都被导入,而不是每个类都被导入。

我知道你可以使用__init__.py 并且一直在阅读this 之类的帖子,但我无法找到一种方法来做我想做的事。

大家有什么建议吗?

【问题讨论】:

  • 您链接的答案准确地描述了您需要做什么;你被什么困住了?

标签: python packaging


【解决方案1】:

序言:如果您有数百行的大类,这种技术会很有用。如果您的类非常小,您应该将它们放在一个名为 tastyfood.py 的文件中,您将获得相同的行为,而无需文件夹。

如果你想使用文件夹来分类你的类,你需要有这样的文件夹结构:

tastyfood/
    __init__.py
    chocolate.py
    sweets.py
    crisps.py
    tuna.py

example.py  # example file quoted above

__init__.py 可以包含 import 语句,让您的生活更轻松:

from chocolate import Chocolate
from sweets import Sweet
# ... import everything you want in the tastyfood namespace

所以这些可以在example.py 中找到的示例是有效的:

import tastyfood
choco = tastyfood.Chocolate()

from tastyfood import Chocolate
choco = Chocolate()

from tastyfood.chocolate import Chocolate  # still works too
choco = Chocolate()  

【讨论】:

    【解决方案2】:

    所以所有类都位于 tastyfood/ ,对吗?您需要在该文件夹中放置一个空的__init__.py 文件以及其他文件,然后您就可以像这样导入它们。

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多