Я выполняю SQL-запрос в сценарии оболочки, который выполняется внутри сценария Python.Так как в prod env у меня нет библиотеки cx_Oracle, поэтому мне нужно использовать скрипт оболочки.Теперь, когда я вызываю скрипт оболочки, используя python, я получаю вывод в виде строки.Как я могу преобразовать этот вывод в список.Вы можете использовать command.getoutput или subprocess.Popen only.
#!/usr/bin/python
import re,os,commands,os.path
import subprocess
#output = commands.getoutput("sh FA_FMW.sh")
output = subprocess.Popen(["sh", "ABC.sh"],
stdout=subprocess.PIPE).communicate()[0]
print output
Вывод:
Successfully created: APPABC.env
ABCenv succeeded.
ABC_ACTIVITIES ACTIVITIES
12.11.1.8.0 VALID N
ABC_BIA_CLOUD ATBCITE
12.11.1.8.1 VALID Y
выше Я только что упомянул две строки вывода запроса, которые имеют 5 столбцов.Как я могу получить доступ к этой выходной строке и столбцу, чтобы выполнить определенную операцию с номером версии и допустимыми недопустимыми флагами.Также необходимо отфильтровать первые две строки сообщения об успехе.Например, мне нужно распечатать только первые два столбца каждой строки.Здесь две строки являются частью одной строки.
for i in range(0, len(output)):
print output[i][0], output[i][2], output[i][4]
output:
ABC_ACTIVITIES 12.11.1.8.0 N
ABC_ACTIVITIES 12.11.1.8.1 Y