Comment faire pour exécuter une commande UNIX dans le script Python
#!/usr/bin/python
import os
import shutil
import commands
import time
import copy
name = 'test'
echo name
J'ai un simple scripts python comme ci-dessus. Lorsque je tente de l'exécuter, je reçois une erreur de syntaxe lors de la tentative de sortie de la variable de nom.
- Vous devez spécifier au moins le message d'erreur exact que vous êtes l'obtention d'.
- Pourquoi avez-vous vous attendez à un générique de commande unix (
echo
) pour être pris en charge juste comme ça en Python, comme si elle était reconnue comme un Python déclaration? - C'seulement les rendements générique “erreur de syntaxe”, comme
echo
n'est pas un mot-clé et il s'attend à quelque chose d'autre à se produire après un éventuel nom de la variable (par exemple, une mission). - Merci, je le savais déjà. Je ne cherche à améliorer l'OP manières pour poser des questions.
- Déjà pensé que vous avez fait, mais pour être juste, “erreur de syntaxe” est la plus exacte possible, dans ce cas ^^
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser les commandes UNIX dans votre script Python comme si elles étaient du code Python,
echo name
est à l'origine une erreur de syntaxe carecho
n'est pas un construit-dans l'état ou de la fonction en Python. Au lieu de cela, utiliserprint name
.Pour exécuter des commandes UNIX, vous aurez besoin de créer un sous-processus qui exécute la commande. Le moyen le plus simple pour ce faire est d'utiliser
os.system()
, mais lesous-processus
module est préférable.vous pouvez également utiliser des sous-processus module.
Lire: http://www.doughellmann.com/PyMOTW/subprocess/