类型错误:'module'对象不可调用 Python3

3

你好,我尝试运行run.py文件但出现了错误信息!

run.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

我该如何修复这个错误?谢谢 :)

1
正如错误明确指出的那样,你试图调用一个不可能被导入的模块。你原本想做的是从这个模块内部调用具有相同名称的函数HTTPHeaders.HTTPHeaders(site, _verbose=True) - undefined
1个回答

7

试试这个:

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

你导入了模块本身,所以必须使用点表示法来访问函数。
或者可以像这样导入函数:
from modules.HTTPHeaders import HTTPHeaders
HTTPHeaders(...)

抱歉,我修改了答案的文本。 - undefined
注意到,现在非常正确 :) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接