2016-04-11 3 views
0

Я хотел бы знать, как я могу использовать мои переменные в выводе другой команды. Например, если я попытаюсь сгенерировать некоторые ключи с помощью «openssl», я получу вопрос о стране, штате, организациях и т. Д.Задайте переменную в командном выводе

Я хотел бы использовать мои переменные в скрипте, чтобы заполнить эту информацию. У меня будет переменная «Страна»; переменную «Состояние» и т. д. и анализировать/задавать эти вопросы из команды openssl при выполнении.

Я пытаюсь это сделать в bash, но также хотел бы знать, как будет выглядеть то же самое в python.

Сердечные приветы

ответ

0

У вас есть несколько способов сделать это. 1. Если ваш скрипт запущен до сценария питона и результат устанавливается в переменной Enviroment вы можете прочитать переменные окружения из вашего питона сценария следующим образом:

import os 
os.environ.get('MYVARIABLE', 'Default val') 

В противном случае вы можете попытаться запустить другое приложение от вашего питон скрипт и прочитать результат с помощью os.popen():

import os 
tmp = os.popen("ls").read() 

или лучше (если у вас есть питон новее, чем 2.6)

import subprocess 
proc = subprocess.Popen('ls', stdout=subprocess.PIPE) 
tmp = proc.stdout.read() 
+0

и что о Баше? Кроме того, другая команда - openssl, и я хочу, чтобы заполнить те вопросы, которые openssl просит меня использовать переменные в скрипте, который обедает openssl – IvanAK

+0

ok ... так что вы хотите открыть интерактивную оболочку. ознакомьтесь с этим: https://pymotw.com/2/subprocess/ – Stefano

+0

и следующим образом: http://stackoverflow.com/questions/9673730/interacting-with-bash-from-python – Stefano

Смежные вопросы