如何同时捕获OSError和nmap.PortScannerError
时间: 2024-01-06 22:06:14 浏览: 68
您可以使用多个 `except` 子句来捕获多个异常类型。例如,如果您想同时捕获 `OSError` 和 `nmap.PortScannerError` 异常,您可以使用以下代码:
```python
import nmap
try:
scanner = nmap.PortScanner()
scanner.scan('127.0.0.1', '22-443')
for host in scanner.all_hosts():
print('Host : %s (%s)' % (host, scanner[host].hostname()))
print('State : %s' % scanner[host].state())
for proto in scanner[host].all_protocols():
print('Protocol : %s' % proto)
lport = scanner[host][proto].keys()
for port in lport:
print('port : %s\tstate : %s' % (port, scanner[host][proto][port]['state']))
except (OSError, nmap.PortScannerError) as e:
print('Error: %s' % e)
```
在上面的代码中,我们使用了一个 `except` 子句来捕获 `OSError` 和 `nmap.PortScannerError` 异常。如果扫描失败或者出现 `OSError` 异常,程序将输出错误信息并继续执行。您可以根据需要修改代码来适应您的扫描需求。
阅读全文