Матрица Python: Как ответить на ввод с клавиатуры?

Я хотел бы автоматизировать ответ для некоторого вопроса, запрошенного некоторыми программами, как mysql, запрашивающий пароль или способная просьба о 'да' или... когда я хочу восстановить свой индекс стога сена с./manage.py rebuild_index.

Для MySQL я могу использовать - пароль = переключатель, и я уверен, что склонный имеет 'тихое' как опция. Но как я могу передать ответ на другие программы?

23
задан dzen 11 February 2010 в 17:26
поделиться

3 ответа

Почему вы не можете просто использовать каналов ?

Например, для автоматического автоматического принятия, просто используйте yes , который просто выводит бесконечный поток y .

yes | rm *.txt


(источник: wikimedia.org )

13
ответ дан 29 November 2019 в 01:32
поделиться

Оба метода действительны и работают.

Я выбрал первый, потому что не хотел никакого взаимодействия с моей системой развертывания.

Вот решение, которое я использовал:

% да | ./manage.py rebuild_index

ПРЕДУПРЕЖДЕНИЕ. Это безвозвратно удалит ВСЕ из вашего поискового индекса. После этого вы можете выбрать восстановление из резервных копий или перестроение с помощью команды rebuild_index . {{{ 1}} Вы уверены, что хотите продолжить? [y / N] Удаление всех документов из индекса на основании вашего заявления. Все документы удалены. Индексирование 27 элементов.

{{1 }}
1
ответ дан 29 November 2019 в 01:32
поделиться

Если вам нужно, чтобы пользователь подтвердил операцию, используйте метод confrim.

if fabric.contrib.console.confirm("You tests failed do you want to continue?"):
  #continue processing

Или если вы ищете способ получить ввод от пользователя, используйте метод prompt.

password = fabric.operations.prompt("What is your password?")
37
ответ дан 29 November 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: