2017-11-20 7 views
0

私はAWS beanstalk にPythonスクリプトを使って自動展開しようとしています。Pythonでシェルコマンドを実行するとスタックになる

eb initを実行するときに、私は が 'yes'コマンドを使用してパラメータを提供できるかどうかを確認するプロンプトが表示されます。 yesコマンドを使用しなくても、my eb initコマンドが停止します。 私が使用します。

os.chdir(folder) 

os.system("yes n | eb init --region us-east-1 site") 

私は まさにそれを使用する方法の確認も、サブプロセスを使用することはできませんが、理解しています。

ヘルプが大好きです ありがとうございました。

+0

を助けることができるかもしれ - https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module –

+0

あなたは何を意味しますか" 動けなくなる" ? –

+0

@Amits:私は問題がPython側にあるとは思わない。デバッグのためには、最初にコマンドをファイルに入れ、 'sh -x/absolute/path/to/script/file.sh'でコマンドラインから実行します。安全面では、私は 'pwd;このファイルの先頭に「env」行があるので、作業ディレクトリと環境が正しいかどうかを確認できます。そして、このテストでは(私はこの点では少し編集的です)、 'yes'と' eb'コマンドの絶対パスも指定します。このシェルスクリプトがコマンドラインから正しく動作することを確認したら、os.systemから起動します。 – user1934428

答えて

0

が、これはサブプロセスについてのあなたに

from subprocess import Popen 
command='yes n | eb init --region us-east-1 site' 
proc=Popen(command) 
関連する問題