以Python方式执行Bash命令

时间:2018-01-02 18:42:05

标签: python bash python-3.x python-2.7

我目前正在手动执行bash命令,方法是在python代码中输入shell。

如何用pythonic方式做到这一点?

我目前正在使用os.system函数来执行像

这样的命令
os.system('sudo add-apt-repository ppa:ondrej/php')
os.system('sudo apt-get update')
os.system('sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0')
os.system('sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart')

1 个答案:

答案 0 :(得分:7)

this question可能重复。

建议使用subprocess模块。 os.system已被弃用,以支持subprocess

import subprocess

command = 'sudo add-apt-repository ppa:ondrej/php')
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
output, error = process.communicate()