I'm trying to make a terminal while using Replit (a collaborative browser based IDE) that is using Ubuntu 5.13.12. But, for some reason subprocess doesn't accept lists/tuples into running it. I tried using with os.system but i realized it only returns a value if it's using a string.
The code shown above only works in distros of Linux like Ubuntu, Fedora, Debian.
Python Simplified Terminal
import termcolor;
import subprocess;
import os;
while (__name__ == '__main__'):
_DEPENDENT_PROCESS = []
_STRING_DIVISOR = " "
terminal_input = input(termcolor.colored(os.path.dirname(os.path.realpath(__file__)), "blue", attrs=['bold']) + "$ ")
if _STRING_DIVISOR in terminal_input:
counted_arguments = terminal_input.count(_STRING_DIVISOR)
splited_arguments = list(terminal_input.split(_STRING_DIVISOR, counted_arguments))
_DEPENDENT_PROCESS, error = splited_arguments, None
intrepeter = subprocess.run([_DEPENDENT_PROCESS], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
_terminal_output = intrepeter.stdout
print(_terminal_output.decode('ascii'))
Error: Expected str, bytes, os.Paths, not lists