ホームページ >バックエンド開発 >Python チュートリアル >Python でシェル コマンド出力を文字列としてキャプチャして返すにはどうすればよいですか?
問題:
シェル コマンドの出力をキャプチャし、次のように返します。エラーか成功かに関係なく、文字列メッセージ。
Python 3.5 以降 (モダン):
import subprocess def run_command(cmd): result = subprocess.run(cmd, stdout=subprocess.PIPE, shell=True) return result.stdout.decode('utf-8') print(run_command('mysqladmin create test -uroot -pmysqladmin12')) # Example Output: # mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
Python 2.7 - 3.4 (レガシー):
import subprocess def run_command(cmd): output = subprocess.check_output(cmd, shell=True) return output print(run_command('mysqladmin create test -uroot -pmysqladmin12')) # Example Output: # mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
オブジェクトを開く (複雑)アプリケーションおよび Python 2.6 以下):
import subprocess def run_command(cmd): p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) output, error = p.communicate() return output print(run_command('mysqladmin create test -uroot -pmysqladmin12')) # Example Output: # mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
注:
以上がPython でシェル コマンド出力を文字列としてキャプチャして返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。