Я пишу скрипт для поиска по базе данных с использованием баз данных cli. Я смог получить доступ к базе данных с помощью python, используя os.system (команды для доступа к базе данных). Однако функция .system не будет вводить какие-либо команды в cli.использовать python для работы с cli
ответ
Похоже, что используемая вами база данных может ожидать ввода через клавиатуру (т. Е. Она ждет ввода). Если это так, то вы не сможете использовать system
для этого - вам нужно будет запустить процесс CLI базы данных, а затем управлять связью с ним.
Вот простой пример. Начнем с простого приложения, которое принимает данные через стандартный ввод и записывает его обратно. Это будет похоже на вашу программу CLI базы данных.
# cli.py
s = input() # Avoid input() on Python 2!
print("Hello, %s!" % s)
А вот водитель (код, который вы пишете)
# driver.py
import subprocess
from subprocess import PIPE
proc = subprocess.Popen(['python3', './cli.py'], stdin=PIPE, stdout=PIPE)
try:
outs, errs = proc.communicate(b'world', timeout=2)
print(outs.decode('utf-8'))
except:
print('An error occurred.')
Ожидаемый результат:
Hello, world!
Так что вам нужно, чтобы организовать все это водить команды в CLI базы данных и прочитать результаты. Это звучит как ужасное время - как заявил cricket_007, база данных, вероятно, имеет доступ к ней, не пройдя через CLI.
Если вам абсолютно необходимо продолжить движение по этому маршруту, ознакомьтесь с модулем pexpect, который должен справиться с большой сложностью этого для вас.
- 1. Как установить phpcodesniffer для работы с CLI CLI CLI?
- 2. Как настроить печенье для работы с CLI.
- 3. Начало работы с babel-cli
- 4. Как использовать OAuth2 для CLI?
- 5. ember-cli-chart Получение beginAtZero для работы
- 6. Обновление Python для использования с AWS CLI
- 7. Как использовать python для работы с двумя файлами одновременно
- 8. Python: как использовать словарь для работы с пользовательским вводом?
- 9. Как использовать опцию python jira-cli --extra?
- 10. Не могу получить помощников для работы с emberjs & ember-cli
- 11. Настройка virtualenvwrapper для работы с Python 2.7.9
- 12. Автоматизация ввода для принудительной работы программы, запущенной в cli с Python
- 13. Нет тайм-аута для работы python-rq
- 14. Библиотека Python для работы с 3D-кинематикой
- 15. Настройка vim для работы с python
- 16. Когда использовать AWS CLI и EB CLI
- 17. Настройка Emacs для работы с python/IPython
- 18. Как использовать Powershell для работы с реестром?
- 19. Создание первого PHP CLI, начало работы
- 20. Начало работы с Python YQL
- 21. Python интерактивное приложение CLI?
- 22. Получение Skein для работы с Python
- 23. Python - Несколько декораторов для работы с ошибкой
- 24. Пакет Python для работы с данными ГИС?
- 25. Начало работы с Python для петель
- 26. пытается получить vim для работы с python
- 27. Как использовать aws cli --generate-cli-skeleton
- 28. Попытка сделать инструмент CLI в Java работы
- 29. Использовать python для завершения работы сценариев экземпляров на
- 30. как использовать CodeIgniter CLI
Зачем использовать эти (неизвестные) команды CLI, а не библиотеки python для этой (неизвестной) базы данных? –
Почему вы не пытаетесь использовать pymysql? – McGrady
Пожалуйста, отредактируйте ваше сообщение, чтобы включить [mcve] кода, который не работает, и, пожалуйста, укажите базу данных, которая используется, чтобы мы могли предоставить полезные ответы. –