Cómo ejecutar un comando UNIX en el script de Python

#!/usr/bin/python import os import shutil import commands import time import copy name = 'test' echo name 

Tengo unos scripts de python simples como los anteriores. Cuando bash ejecutarlo, aparece un error de syntax cuando bash dar salida a la variable de nombre.

No puede usar los comandos UNIX en su secuencia de comandos de Python como si fueran códigos de Python, el echo name está causando un error de syntax porque echo no es una statement o función incorporada en Python. En su lugar, utilice el print name .

Para ejecutar comandos UNIX, deberá crear un subproceso que ejecute el comando. La forma más sencilla de hacerlo es usar os.system() , pero es preferible el módulo de subprocess .

También puede utilizar el módulo de subproceso.

 import subprocess proc = subprocess.Popen(['echo', name], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE ) (out, err) = proc.communicate() print out 

Lea: http://www.doughellmann.com/PyMOTW/subprocess/