аргумент.

я проблема с подпроцессом и печатью кавычек.

Мой Python-скрипт принимает пользовательский ввод, немного разбивает его - и мне нужно, чтобы он таким образом отправлял свои результаты в bash-скрипт.

myscript.sh 'var1 == a var2 == b; othervar == c' /path/to/other/files

То, где я зацикливаюсь, - это одиночные кавычки. Питон пытается вырвать их.

Я использовал это для моего теста.

subprocess.Popen([myscript.sh 'var=11; ignore all' /path/to/files], shell=True, executable="/bin/bash")

который возвращает неверный синтаксис, указывающий на 2-ую одинарную кавычку. Я также попробовал вышеупомянутое без скобок и использования одинарных кавычек снаружи и двойных кавычек внутри и т. Д.

Другое - хотелось бы.

Как я уже говорил выше, 'var == a var == b; othervar == c 'является производным от скрипта Python (в строковом формате) - и мне нужно вызвать это в подпроцессе следующим образом.

subprocess.Popen([myscript.sh myvariables /path/to/files], shell=True, executable="/bin/bash")

Мне просто нужно поместить одинарные кавычки вокруг значения myvariables, как в первом примере.

Любые указатели относительно того, где я ухожу от правильного метода?

Спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос