python - 为什么 Python-NMAP 模块中的 .scan 函数显示 'str' 属性错误?

标签 python python-3.x nmap

我首先在 PyCharm 中安装了 nmap 模块,但收到了许多其他关于我的 nmap.PortScanner 函数的错误。

因此,我卸载了nmap并安装了python-nmap

现在,我在执行命令时遇到问题:

import nmap
ns = nmap.PortScanner
ns.scan('My.IP.Add.ress', '1-1024', '-v')
print(ns.scaninfo())

我在第二行收到错误消息: 属性错误:“str”对象没有属性“_nmap_path”

但是,查看所有示例,可以准确地显示这些代码行。 有人可以解释一下发生了什么吗?

我的编辑器还为 ns.scaninfo() 显示一条警告,提示参数“self”未填充。再说一次,这不是例子所显示的。我对此感到非常困惑。

一如既往,非常感谢您的帮助!

最佳答案

(自从发布 my comment 以来,我确信这是根本原因,因此发布作为答案。)

第二行缺少一些括号。它应该是:

ns = nmap.PortScanner()

事实上,您正在存储 PortScanner类(class) ns ,而不是该类的对象。这意味着当您调用 ns.scan它的第一个参数(预期为 self ,即具有 PortScanner 属性的 _nmap_path 对象)实际上是一个字符串,它没有该属性。编辑器关于 self 的警告背后也有同样的原因。参数也未填写。

关于python - 为什么 Python-NMAP 模块中的 .scan 函数显示 'str' 属性错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092781/

相关文章:

java - 适用于Java的NMap包装器

python - 如何使用单个文件执行 Robot Framework 中的所有 TestSuite

python - 无法从使用 json 的 URL api 获取信息?

python - 错误 : The expanduser ('~' ) cannot be added to dirs. 'xxx' :'xxx"

python - Django 脆皮表格 : Exception while resolving variable 'form_html' in template 'bootstrap3/whole_uni_form.html'

python - 无法让我的异步函数正常工作

parameters - NMAP 连续 ping

python - cx_Freeze 和 pyinstaller 的 ImportError

python - Pandas 无法将输入转换为时间戳错误

python - 如何使用 Python 中的 ElementTree 从特定供应商的 XML 格式的 nmap 输出中获取 IP 地址