首页 > 解决方案 > TypeError:“模块”对象不可调用 Python3

问题描述

您好,我尝试运行 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

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

标签: pythonpython-3.x

解决方案


试试这个:

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

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

或者像这样导入函数:

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

推荐阅读