为什么我的 Python-NMAP 模块的 .scan 函数显示 'str' 属性错误?
Why does my .scan function from the Python-NMAP module show 'str' Attribute Error?
我首先在 PyCharm 中安装了 nmap 模块,但收到了与我的 nmap.PortScanner 函数一样多的错误。
因此,我卸载了nmap并安装了python-nmap。
现在,我在执行命令时遇到了问题:
import nmap
ns = nmap.PortScanner
ns.scan('My.IP.Add.ress', '1-1024', '-v')
print(ns.scaninfo())
我在第二行收到错误消息:
AttributeError: 'str' 对象没有属性 '_nmap_path'
但是,观看所有示例,准确显示这些代码行。
有人可以解释发生了什么吗?
我的编辑器还为 ns.scaninfo() 显示参数 'self' 未填充的警告。同样,这不是示例显示的内容。我对此很困惑。
一如既往,非常感谢您的帮助!
(自发布 以来,我确信这是根本原因,因此发布作为答案。)
您在第二行缺少一些括号。它应该是:
ns = nmap.PortScanner()
实际上,您将 PortScanner
class 存储在 ns
中,而不是 class 的对象。这意味着当您调用 ns.scan
时,它的第一个参数(它期望是 self
,具有 _nmap_path
属性的 PortScanner
对象)实际上是一个字符串,它不没有属性。同样的原因也存在于您的编辑关于未填写 self
参数的警告背后。
我首先在 PyCharm 中安装了 nmap 模块,但收到了与我的 nmap.PortScanner 函数一样多的错误。
因此,我卸载了nmap并安装了python-nmap。
现在,我在执行命令时遇到了问题:
import nmap
ns = nmap.PortScanner
ns.scan('My.IP.Add.ress', '1-1024', '-v')
print(ns.scaninfo())
我在第二行收到错误消息: AttributeError: 'str' 对象没有属性 '_nmap_path'
但是,观看所有示例,准确显示这些代码行。 有人可以解释发生了什么吗?
我的编辑器还为 ns.scaninfo() 显示参数 'self' 未填充的警告。同样,这不是示例显示的内容。我对此很困惑。
一如既往,非常感谢您的帮助!
(自发布
您在第二行缺少一些括号。它应该是:
ns = nmap.PortScanner()
实际上,您将 PortScanner
class 存储在 ns
中,而不是 class 的对象。这意味着当您调用 ns.scan
时,它的第一个参数(它期望是 self
,具有 _nmap_path
属性的 PortScanner
对象)实际上是一个字符串,它不没有属性。同样的原因也存在于您的编辑关于未填写 self
参数的警告背后。