Python 是否需要导入X库(如果是';在Y模块I';我正在导入当前文件吗?

Python 是否需要导入X库(如果是';在Y模块I';我正在导入当前文件吗?,python,import,module,libraries,Python,Import,Module,Libraries,例如,我有date_file.py: import datetime EPOCH = datetime.datetime.utcfromtimestamp(0) def date_to_unix(dt): return (dt - EPOCH).total_seconds() * 1000.0 我有utils.py: import date_file ux = date_file.date_to_unix(datetime.datetime(2020,3,27,0,0,0))

例如,我有date_file.py:

import datetime

EPOCH = datetime.datetime.utcfromtimestamp(0)

def date_to_unix(dt):
    return (dt - EPOCH).total_seconds() * 1000.0
我有utils.py:

import date_file

ux = date_file.date_to_unix(datetime.datetime(2020,3,27,0,0,0))

print(ux)
但是当我运行utils.py时,它会说

“未定义名称datetime”

到处导入这些模块不是有点多余吗?有更好的解决办法吗


谢谢

在python中,还需要导入元素。您所做的只是导入文件本身,而不是导入其中的内容

要导入元素,必须在文件utils.py中使用此行

from date_file import *

谢谢这解决了我的问题,但现在我有了一个新的问题:如果我只是
导入datetime,data\u file
(不是来自导入*),我仍然可以使用该文件中的函数。那么
导入数据文件
从数据文件导入*
之间到底有什么区别呢?我在这里理解的唯一区别是,对于后者,您还导入了在第一个模块中导入的模块?再次感谢!此链接:[解释了所有内容,但如果您愿意,您可以使用:ux=date\u file.date\u to\u unix(date\u file.datetime.datetime(2020,3,27,0,0,0))。并不是导入没有获取所有内容。事实上导入中的所有内容都在您获取的变量中。因此,如果我有“import a”和“a”有“b”方法,我可以使用a.b来使用该方法。