TypeError:“模块”对象不可调用Python3 [重复]

Posted

技术标签:

【中文标题】TypeError:“模块”对象不可调用Python3 [重复]【英文标题】:TypeError: 'module' object is not callable Python3 [duplicate] 【发布时间】:2021-02-15 00:34:57 【问题描述】:

您好,我尝试运行 run.py,但收到一条错误消息!

运行.py

from modules import HTTPHeaders
site = "https://google.com"
HTTPHeaders(site, _verbose=True)

HTTPHeaders.py

import dns
import dns.resolver
def HTTPHeaders(site, _verbose=None):
if _verbose != None:
    try:
        r = http.request('GET', "http://"+site)
    except:
        pass

    if (r.status == 200):
        print("HTTP/1.1 200 OK")
    else:
        print(r.status)
    try:
        print("Content-Type : "+r.headers['Content-Type'])
    except:
        pass
    try:
        print("Server : "+r.headers['Server'])
    except:
        pass
    try:
        print("Set-Cookie : "+r.headers['Set-Cookie'])
    except:
        pass

我的错误:

    TypeError: 'module' object is not callable

我该如何解决这个错误?谢谢你:)

【问题讨论】:

正如错误非常清楚地表明,您正在尝试调用导入的模块,这是不可能的。您打算做的是从该模块中调用具有相同名称的 函数HTTPHeaders.HTTPHeaders(site, _verbose=True) 【参考方案1】:

试试这个:

from modules import HTTPHeaders
HTTPHeaders.HTTPHeaders(...)

您导入了模块本身,因此您必须使用点符号访问该函数。

或者像这样导入函数:

from modules.HTTPHeaders import HTTPHeaders
HTTPHeaders(...)

【讨论】:

对不起,我把答案的文字改了。 注意到了,现在非常正确:)

以上是关于TypeError:“模块”对象不可调用Python3 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

加载 keras 模型,TypeError:“模块”对象不可调用

TypeError:“模块”对象不可调用Python3 [重复]

TypeError:“模块”对象在不和谐 py 上不可调用

Pytorch 1.7.0 | DataLoader 错误 - TypeError:“模块”对象不可调用

lambda and TypeError:'模块'对象不可调用[重复]

龙卷风框架。 TypeError:“未来”对象不可调用