Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/12/2009, à 19:25

jc9123

[Python] Lancer un terminal

Bonjour,

Je débute en python et je voudrais lancer dans mon programme python un terminal avec une commande.

Comment faire ?

Merci d'avance.

Dernière modification par jc9123 (Le 20/12/2009, à 19:26)

Hors ligne

#2 Le 20/12/2009, à 20:52

HymnToLife

Re : [Python] Lancer un terminal

python foo.py

- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !

Hors ligne

#3 Le 20/12/2009, à 22:14

k3c

Re : [Python] Lancer un terminal

tu peux lire ce livre gratuit en ligne, il est en français

http://www.swaroopch.com/notes/Python_fr:Table_des_Mati%C3%A8res


Archlinux sur Xiaomi Air 13

Hors ligne

#4 Le 21/12/2009, à 21:47

jc9123

Re : [Python] Lancer un terminal

Je me suis mal expliqué,
Je ne veux pas lancer mon programme python depuis un terminal mais lancer un terminal depuis mon application. Exemple :

J'ai un bouton qui quand je clique dessus lance un terminal avec la commande "sudo apt-get install ..."

Hors ligne

#5 Le 21/12/2009, à 22:41

k3c

Re : [Python] Lancer un terminal

import os
os.popen("sudo apt-get install vlc")

par exemple ?


Archlinux sur Xiaomi Air 13

Hors ligne

#6 Le 21/12/2009, à 22:56

nesthib

Re : [Python] Lancer un terminal

ou un truc du genre?

import os
os.system('gnome-terminal')

pour spécifier la commande utilise les options -e ou -x de gnome-terminal
avec gnome-terminal la fenêtre se ferme à la fin de la commande, tu peux jeter un œil à l'option hold de xterm pour éviter cela


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#7 Le 22/12/2009, à 00:06

Karl_le_rouge

Re : [Python] Lancer un terminal

les modules os.system/os.spawn*/os.popen* sont dépréciés en faveur de subprocess.Popen.
Pour exécuter la commande dans un nouveau shell (l'équivalent de os.system) ===> subprocess(ma_commande, shell=True). En général, on laisse shell à sa valeur par défaut (False).
Je ne vois pas trop l'intérêt de démarrer un nouveau terminal pour lancer une commande, soit tu lances ton script dans un terminal et tu affiches le résultat dans la sortie standard, soit tu fais une interface graphique (avec tkinter par exemple). 

Le module subprocess est apparu avec Python 2.4, il y a 5 ans maintenant, il serait p'tet temps de laisser les antiquités au placard. wink

Dernière modification par Karl_le_rouge (Le 22/12/2009, à 00:10)

Hors ligne

#8 Le 29/12/2009, à 12:35

jc9123

Re : [Python] Lancer un terminal

Merci je vais regarder ça

Hors ligne

#9 Le 11/06/2014, à 22:15

moissan

Re : [Python] Lancer un terminal

bonjour

je tombe ici en cherchant la même chose

j'ai essayé avec la console qui est sur kubuntu

import os
os.system('exo-open --launch TerminalEmulator')

ça ouvre bien une console , mais ce que python ecrit reste sur la console que l'on a utilisé pour l'appeler : le but est d'avoir une trace du fonctionnement quand on lance le programme en cliquant : ça ne marche pas car rien ne s'y écris

utiliser tkinter est bien quand la fonction principale est graphique , mais dans un but de mise au point d'un programme une sortie par console serait pratique

pour avoir une trace de ce que fait un programme python je lui fait écrire dans un fichier , mais une sortie dans la console serait plus pratique

Dernière modification par moissan (Le 11/06/2014, à 22:16)

Hors ligne