Я пытаюсь запустить команду curl, используя подпроцесс. Работает отлично. У меня есть выход, который мне нужен в переменной. Единственное, чего я хочу, это когда процесс запускается, мне не нужна эта печать в консоли:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 255 100 153 100 102 56 37 0:00:02 0:00:02 --:--:-- 56
Вот как выглядит эта часть скрипта:
import subprocess
def F_createSingleTable(table_name):
un = "test"
pw = "testpass"
url = "https://blah.fake.url.com:7877/services/createstable"
size = "10"
size_til_archive = "30"
retention = "5"
curl_call =\
[\
'curl', \
'-k', \
'-u', \
(un)+":"+(pw), \
(url), \
'-d', \
'name='+(table_name), \
'-d', \
'size='+(size), \
'-d', \
'size_til_archive='+(size_til_archive), \
'-d', \
'retention='+(retention)\
]
process = subprocess.run((curl_call), check=True, stdout=subprocess.PIPE, universal_newlines=True)
output = process.stdout
if "already exists" in (output):
print("table: "+(table_name)+" already exists")
, если это имеет значение, фактический ответ, который я получаю, который хранится в выходных данных:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<messages>
<msg type="ERROR">table_name table already exists</msg>
</messages>
</response>
Мне не нужно его сохранять, просто проверьте, есть ли в нем «alredy». Что у меня есть и работает.
Спасибо
ПРИМЕЧАНИЕ. Первоначально я хотел использовать subprocess.call, но мне не удалось захватить вывод, чтобы проверить, существует ли уже ответ в ответе