2016-03-31 2 views
0

私のLinuxシステムをpythonスクリプトでアップグレードしたい。しかし、私はYかEnterをコンソールに送る方法を知らない。linuxをpythonスクリプトでアップグレードする

これは私のコードです:

sudo_password = 'password' 
command = 'apt-get update' 
os.system('echo %s|sudo -S %s' % (sudo_password, command)) 
command = 'apt-get upgrade' 
os.system('echo %s|sudo -S %s' % (sudo_password, command)) 

EDIT:

私はので、私は(raw_input使用したくない、自動化されたスクリプトを実行したい)または入力()。

+0

[pexpect](https://pypi.python.org/pypi/pexpect/4.0)に行ったことがありますか? – zondo

答えて

1

また、あなたのapt-getコマンドに-yパラメータを追加することができます。このように:あなただけのすべてのapt-getのプロンプトに「Y」を答えるようにしたい場合は

... 
command = 'apt-get upgrade -y' 
... 
1

使用raw_input機能

例えば

user_input = raw_input('Enter Y ') 
+0

私のEDITをご覧ください。ありがとうございました – kame

0

は、yes bashコマンドを介してコマンドをパイプ考えます。

テストされていない(とあなたがテストする必要があり):

command = 'apt-get update|yes' 
os.system('echo %s|sudo -S %s' % (sudo_password, command)) 
command = 'apt-get upgrade|yes' 
os.system('echo %s|sudo -S %s' % (sudo_password, command)) 

yes manページの説明は言う:

繰り返し出力のすべての指定した文字列(複数可)、または 'Y' とのライン。

関連する問題