使用 tuples/lists 时使用子进程执行命令?

Executing commands with subprocess while using tuples/lists?

我正在尝试制作一个 terminal,同时使用 Replit(基于 IDE 的协作浏览器)正在使用 Ubuntu 5.13.12。但是,出于某种原因,子进程不接受 lists/tuples 到 运行 中。我尝试与 os.system 一起使用,但我意识到它只有 returns 一个值,如果它使用的是字符串。

上面显示的代码仅适用于 Linux 的发行版,例如 UbuntuFedoraDebian.

Python 简化终端

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
import termcolor;
import subprocess;
import os;

while (__name__ == '__main__'):
    terminal_input = input(termcolor.colored(os.path.dirname(os.path.realpath(__file__)), "blue", attrs=['bold']) + "$ ")
    intrepeter = subprocess.run(terminal_input.split(" "), stdin=subprocess.PIPE, stdout=subprocess.PIPE)
    _terminal_output = intrepeter.stdout
    print(_terminal_output.decode('ascii'),end="")

这样做有什么问题吗?它的工作方式就像终端对我来说一样。 虽然我知道它没有回答你的问题。