【问题标题】:Execute Bash commands Python way [duplicate]以Python方式执行Bash命令[重复]
【发布时间】:2018-06-12 11:06:29
【问题描述】:

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

如何以 Python 的方式做到这一点?

我目前正在使用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')

【问题讨论】:

标签: python bash


【解决方案1】:

this question 可能重复。

建议改用subprocess 模块。 os.system 已贬值以支持 subprocess。有关详细信息,请参阅 subprocess 文档。

import subprocess

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

【讨论】:

  • 这样的回复需要作为评论进入。
  • @Anil_M 哦,好吧抱歉
  • python 3 中还有用于 getstatusoutput 的 convience 函数,非常不错。 `状态,输出= subprocess.getstatusoutput('cmd')`
猜你喜欢
  • 2016-02-20
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 2016-11-17
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 2019-03-13
相关资源
最近更新 更多