@freshcot

Как передать список аргументом в Popen?

Есть такой код, который запускает pt-query-digest на сервере:
import subprocess as sp
logs = " ".join(log_files) 
proc = sp.Popen([PT_QUERY, "--filter=$event->{{db}} =~ m/{0}/".format(base), logs], 
                 stderr=sp.PIPE, stdout=sp.PIPE)
print proc.stdout.read()

при этом log_files - это список из файлов с логами, например /var/log/mysql/1.log, /var/log/mysql/2.log
При таком вызове Popen переменную logs он, конечно, не кушает. Так вот вопрос - как передать в Popen аргументы списком?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
@deliro
В Python3.5 появился такой синтаксис:
x = ['c', 'd']
['a', 'b', *x]  # => ['a', 'b', 'c', 'd']

В остальных случаях можно сделать так:
x = ['c', 'd']
['a', 'b'] + x
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы