【问题标题】:TypeError: 'module' object is not callable Python3 [duplicate]TypeError:“模块”对象不可调用Python3 [重复]
【发布时间】: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)

标签: python python-3.x


【解决方案1】:

试试这个:

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

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

或者像这样导入函数:

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

【讨论】:

  • 对不起,我把答案的文字改了。
  • 注意到了,现在非常正确:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2013-07-01
  • 2017-06-17
  • 2014-09-21
  • 2011-05-30
相关资源
最近更新 更多