是否可以为主程序中使用的每个文件导入相同的库(模块)?

时间:2017-10-25 02:31:46

标签: python-3.x import

我的python程序变得越来越大,我想把它拆分成多个文件。所以我想在自己的文件中编写一些类(保存在与主应用程序相同的目录中)。显然这是一种常见的做法。

所以我有两个文件:主应用程序文件mainFile.py和类File作为myClassFile.py。

mainFile.py 中的

我有以下内容:

import sys
import datetime

from myClassFile import myClass


def Setup(args):

    print(datetime.datetime.now())
    c = myClass()
    c.printTime()

if __name__ == "__main__":
    Setup(sys.argv)

该程序从myClassFile.py导入myClass,并使其在与main相同的命名空间中可用。

myClassFile.py 中,我有以下类定义:

class myClass():

    def __init__(self):
        pass

    def printTime(self):
        now = datetime.datetime.now()
        print(now)

如您所见,myClassFile.py使用未导入的日期时间库。因此给我一个错误。因此,一个简单的解决方案是将其导入同一个文件,但这意味着我必须为我创建的每个新文件导入所有库(或模块)。

所以,我的问题是:我应该在每个文件中导入所有需要的库吗?这是python中的一个好习惯吗?这会导致任何性能问题吗?

或者在主文件中导入库并以某种方式在导入的文件中使用它们会更好吗?

抱歉,如果之前有人询问过。我无法在任何地方找到这个特定的例子。

1 个答案:

答案 0 :(得分:0)

如果有人是python的新手,我可以回答我自己的问题。我认为它是这样的:

是,您需要导入新文件需要运行的所有库。

原因是由于名称空间。新文件将具有其自己的名称空间,并且需要加载其依赖项。我认为这就是答案。我现在一直在用python编程,这对我来说很有意义。