web-dev-qa-db-fra.com

Exécuter les commandes Bash Python way

J'exécute actuellement les commandes bash manuellement, en entrant dans Shell dans le code python.

Comment ferait-on cela de façon Pythonique?

j'utilise actuellement os.system fonction pour exécuter des commandes comme;

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')
8
Sophie Rhodes

Copie possible de cette question .

Il est recommandé d'utiliser à la place le module subprocess. os.system a été amorti au profit de subprocess. Pour plus d'informations, consultez la documentation sous-processus .

import subprocess

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