📅  最后修改于: 2023-12-03 15:10:58.488000             🧑  作者: Mango
在编写Python应用程序时,可能会同时运行多个程序或服务。这些服务可能会监听不同的端口,以等待其他应用程序与其进行通信。
但是,有时候您不能访问某些端口,因为它们可能已经被其他应用程序占用。在这种情况下,您需要快速了解是否有任何应用程序占用了您要使用的端口。在这里,您可以使用Python来获得所有正在使用的端口信息。
Python的socket
库提供了用于检索正在使用的端口信息的简单方法。以下是获取正在使用的端口的代码:
import socket
def check_port(host, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((host, port))
if result == 0:
print(f"Port {port} is open")
else:
print(f"Port {port} is closed")
sock.close()
if __name__ == '__main__':
check_port('localhost', 22)
check_port('localhost', 80)
在上面的代码中,我们使用Python的socket
库来检查主机上的22
和80
端口是否在使用中。如果端口未在使用,则函数将返回closed
。否则,它将返回open
。
保存代码段到文件夹 port_check.py
中,通过命令行运行如下命令:
$ python3 port_check.py
修改上代码部分,查看端口的状态,并按照对于信息输出,可以得到一个脚本工具。
在Python编程中,获取正在使用的端口信息是非常重要的。Python的socket
库提供了一种简单、易于使用的方法来检查端口是否在使用中。通过使用该库,您可以轻松地编写脚本来检查所有正在使用的端口。