You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python自定义库调用第三方库导入后失效问题咨询

解决自定义Python库导入后函数无法运行的问题

嘿,这问题我太熟了!核心原因其实很简单:你的自定义库模块自己没有导入datetime,虽然你在调用的目标文件里导入了,但每个Python模块的命名空间是完全独立的——目标文件的导入不会自动让你的库模块能访问datetime

问题分析

你写的tm函数里直接用了datetime.datetime,但你的库文件里根本没告诉Python去哪里找datetime这个名字。当你把库导入到其他文件时,Python执行这个函数时,会在库模块的命名空间里找datetime,找不到就会报错,哪怕调用的文件里导入了也没用。

修复方案

只需要在你的自定义库文件的顶部,加上对datetime的导入就行,有两种常见方式:

方式1:导入整个datetime模块

# 自定义库文件(比如my_utils.py)顶部添加
import datetime

def tm(time, date):
    hhour = int(time[:2])
    mminute = int(time[3:5])
    ssecond = int(time[6:8])
    return datetime.datetime(date[2], date[1], date[0], hhour, mminute, ssecond)

方式2:直接导入datetime类(更简洁)

如果你的函数里只用到datetime.datetime这个类,可以直接导入它,这样函数里的代码更短:

# 自定义库文件顶部添加
from datetime import datetime

def tm(time, date):
    hhour = int(time[:2])
    mminute = int(time[3:5])
    ssecond = int(time[6:8])
    return datetime(date[2], date[1], date[0], hhour, mminute, ssecond)

额外提醒

如果你的库函数还用到了Pandas、Numpy这些库,同样要在库文件里单独导入它们,不能依赖调用文件的导入。每个模块都要自己管理自己的依赖导入,这是Python模块的基本规则哦。

内容的提问来源于stack exchange,提问作者condenado

火山引擎 最新活动