@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 аргументы списком?
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
@deliro
В Python3.5 появился такой синтаксис:
x = ['c', 'd']
['a', 'b', *x]  # => ['a', 'b', 'c', 'd']

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

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

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект