LINUX.ORG.RU

История изменений

Исправление Xintrea, (текущая версия) :

Но мне нужно иметь возможность вводить команду так, как это делается в шелле (см. отладочное поле внизу), с такими же правилами ввода спецсимволов типа кавычек или обратного слеша.

Кроме того, у меня вся команда представляет собой строку, а не список.

Ну и в-третьих, если заменить параметр на shell=False, то будет ошибка. Непонятно как должны тогда выполняться системные команды:

Traceback (most recent call last):
  File "/home/xi/work/develop/python/xtermSample05/./gui.py", line 16, in <module>
    from libMain import *
  File "./lib/libMain.py", line 15, in <module>
    config=Config()
  File "./lib/libConfig.py", line 14, in __init__
    self.scriptFile=command.run("readlink -e "+sys.argv[0])[0]
  File "./lib/libCommand.py", line 18, in run
    p=Popen(cmd, stdout=PIPE, shell=False)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'readlink -e ./gui.py'

Исправление Xintrea, :

Но мне нужно иметь возможность вводить команду так, как это делается в шелле (см. отладочное поле внизу), с такими же правилами ввода спецсимволов типа кавычек или обратного слеша.

Кроме того, у меня вся команда представляет собой строку, а не список.

Исходная версия Xintrea, :

Но мне нужно иметь возможность вводить команду так, как это делается в шелле (см. отладочное поле внизу), с такими же правилами ввода спецсимволов символов типа кавычек или обратного слеша.

Кроме того, у меня вся команда представляет собой строку, а не список.