You can try something like this:
import concurrent.futures
import subprocess
commands = """
# command 1
# command 2
# ...
# command n
"""
# Or! You can get them from a file
# make a list of these commands and prepare them for subprocess.run
commands_list = [command.split() for command in commands.split('/n')]
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(subprocess.run, commands_list)
This should execute the commands in parallel.
Getting the files can fallow the same code pattern.
subprocess.run executes any shell ( bash for example or Windows' cmd/PowerShell ) command.
The command is represented as a list of its parts. Your example becomes
['telnet', 'floating IP address of the U2020 server', 'portnumber']
I presume that 'floating IP address of the U2020 server' is something like 192.168.1.100 or some web address? This is why I put it as whole string in the list
Note that there is no code to handle any errors here