データベースcliを使用してデータベースを検索するスクリプトを作成しています。私はos.system(データベースにアクセスするためのコマンド)を使ってPythonでデータベースにアクセスできました。しかし、.system関数はcliにコマンドを入力しません。pythonを使用してcliを使用する
-2
A
答えて
0
使用しているデータベースがキーボードからの入力を期待している可能性があります(入力待ちのようです)。その場合、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. 選択インターフェイスを使用してPython CLIを作成する
- 2. AWS CLIを使用してアクセスと秘密鍵を渡すCLI
- 3. npm test(CLI)を使用してHTML DOMを使用する方法
- 4. --includeを使用してAWS CLIを使用して特定のファイルをプル
- 5. Dockerrun.aws.jsonを使用してCLI deployコマンドを使用してelasticbeanstalkにデプロイ
- 6. 角度CLI - 角度CLIを使用してバンドル
- 7. pythonを使用してmysqlでrowcountを使用する方法
- 8. open Openoffice calcでPythonを使用してシステムコマンドを使用する
- 9. Pythonを使用してGithub GraphQL APIを使用するには?
- 10. Macでanaconda pythonを使用したAWS cliインストール
- 11. ノードcliでCSSLintを使用
- 12. WP Cli ib localhostを使用
- 13. Aurelia-Polymer CLIツールを使用
- 14. CLIを使用してRazor Pagesをスキャフォールドする方法は?
- 15. CLIでangg2を使用してログを記録する
- 16. CLIを使用してRDSインスタンスを停止する
- 17. ionic 3 cliを使用してionic 2プロジェクトを作成する
- 18. CLIを使用してgitlabにレポを作成する
- 19. Angular2バージョンをAngular cliを使用してアップグレードする方法
- 20. サブプロセスを使用してCLIプログラムをデコレートする。
- 21. PHP CLIを使用して端末行/列を決定する
- 22. Apacheコモンを使用してファイルパターンを解析する方法CLI
- 23. CLIを使用してDHCPリース時間をリセットする
- 24. Mongo DB CLIでAnsibleを使用してコマンドを送信する
- 25. Aurelia CLIを使用してAurelia UX 0.4.0をインストールするには?
- 26. CLIを使用してドローンシークレットを表示する方法は?
- 27. Aurelia CLIを使用してナビゲーションスケルトンプロジェクトを作成する
- 28. Linux - CLIプログラムを使用してコマンドを実行する
- 29. stackdriver CLIを使用してタイムスタンプ間でログを検索する
- 30. jenkins CLIを使用する(fedora 23で)
(未知の)これらの(未知の)データベースに対してPythonライブラリを使用するのはなぜですか? –
pymysqlを使ってみませんか? – McGrady
あなたの投稿を編集して、動作していないコードの[mcve]を含めてください。有用な回答を提供できるように、使用中のデータベースに言及してください。 –