Skip to content

Instantly share code, notes, and snippets.

@goddoe
Created September 14, 2023 17:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save goddoe/f48a3c16db43021bf9d14161bc58b416 to your computer and use it in GitHub Desktop.
Save goddoe/f48a3c16db43021bf9d14161bc58b416 to your computer and use it in GitHub Desktop.
find_available_ports.py
def get_available_ports(port_from=5000, port_to=6000):
import socket
for port in range(port_from, port_to):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('localhost', port))
s.close()
yield port
except:
continue
def get_port():
global port_generator
for _ in range(2):
try:
return next(port_generator)
except NameError:
port_generator = get_available_ports()
raise Exception("Get port failed!")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment