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 07/10/2018, à 14:54

fernand1

(RESOLU) passer un programme python de gedit au terminal ?

Bjr à tous,
Je me lance dans la programmation en python qui s'affiche correctement dans le terminal et qui fonctionne correctement.
J'ai écrit un simple programme dans gedit
par ex: 
print"hello"
2+2
4*3
j'enregistre par un clic droit et en mettant comme extension au nom .py  (test.py)
je clic sur propriété et permissions, je clic sur la phrase "autoriser ce fichier à être un programme"

Je clic sur l'icone obtenue, gedit s'ouvre mais n'exécute pas le programme,il affiche simplement le listing que j'avais tapé.

dans le terminal j'entre (après le sigle $) le chemin du fichier py sous la forme /home/yvon1/Bureau/test.py
le terminal m'affiche:
ligne 1: print hello: commande introuvable
ligne 2: 2+2: commande introuvable
ligne 3: 4*3: commande introuvable

Apparemment, il ne prend pas ces lignes comme un programme.

Il me semble que lorsque je clic sur la phrase "autoriser ce fichier à être un programme",il n'en tient pas compte.
Lorsque j'ai cliqué sur cette option, je ne vois pas de case "valider", je ferme tout simplement ce tableau.
Si  je le rouvre plus tard, l'option est toujours bien cliquée.
Qui peut m'éclairer ?

Dernière modification par fernand1 (Le 07/10/2018, à 18:27)

Hors ligne

#2 Le 07/10/2018, à 14:57

Nuliel

Re : (RESOLU) passer un programme python de gedit au terminal ?

Bonjour,

Ouvre un terminal et entre

python Bureau/test.py

Ca devrait mieux marcher (le terminal prend ton fichier pour un script bash)

Sinon tu peux utiliser un éditeur plus adapté comme idle (celui que j'utilise), gedit avec un plugin pour python, ... Voir https://doc.ubuntu-fr.org/python pour d'autres éditeurs

Dernière modification par Nuliel (Le 07/10/2018, à 14:59)

Hors ligne

#3 Le 07/10/2018, à 15:16

fernand1

Re : (RESOLU) passer un programme python de gedit au terminal ?

Bjr,
le terminal me répond  bienvenue puis réaffiche la ligne de départ terminée par le sigle $, attendant une nouvelle instruction

Hors ligne

#4 Le 07/10/2018, à 15:42

Roschan

Re : (RESOLU) passer un programme python de gedit au terminal ?

Plusieurs remarques ici :

- par défaut, le gestionnaire de fichiers n'exécute pas les exécutables quand on clique dessus, mais les ouvre. Ce comportement peut être changé dans les préférences.
- aucun script ne peut s'exécuter si tu ne précises pas avec quel interpréteur ça soit se faire : si tu veux vraiment t'embêter à rendre exécutables tous tes fichiers, alors il faut mettre un shebang, c'est à dire il faut que la première ligne du fichier soit

#!/usr/bin/env python3

- il est infiniment plus simple de ne pas rendre les fichiers exécutables, et de faire dans ton terminal la commande

python3 /home/yvon1/Bureau/test.py

- il me semble que l'instruction print requiert des parenthèses :

print("hello")

- 2+2 effectue un calcul, mais ni affectation ni sortie, et ne produira donc aucun effet

Dernière modification par Roschan (Le 07/10/2018, à 15:42)

Hors ligne

#5 Le 07/10/2018, à 18:26

fernand1

Re : (RESOLU) passer un programme python de gedit au terminal ?

merci
En entrant python3 / home....   ça fonctionne
effectivement print ("hello") requiert des parenthèses si on l'écrit dans  gedit.
Si on l'écrit directement dans le,terminal, pas besoin
pour les calculs 2+2 dans le terminal ça fonctionne
tandis que dans gedit il faut  print (2+2)
bravo Roschan, ce n'est pas la 1ère fois que vous solutionnez un de mes problèmes
je mets en résolu

Hors ligne

#6 Le 07/10/2018, à 19:43

melixgaro

Re : (RESOLU) passer un programme python de gedit au terminal ?

salut,

Pour print, ça n'est pas une histoire de gedit ou autre. Heureusement que le langage ne change pas avec l'éditeur de texte. En fait, je pense que quand tu démarres une console python, tu utilises la version 2.7 de python. À cette époque, print fonctionnait sans parenthèses. Lorsque python version 3 est sortie, print est devenue une fonction et donc usage obligatoire des parenthèses (comme n'importe quelle fonction en python).

Au lieu de taper

python

ouvre une console avec

python3

Tape

print "bonjour"

puis

print("bonjour")

Une des deux lignes renverra une erreur.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#7 Le 08/10/2018, à 12:26

fernand1

Re : (RESOLU) passer un programme python de gedit au terminal ?

à Melixgallo
Exact,
Je rentre le texte bonjour avec parenthèses et sans dans gedit
j'appelle le programme sauvé par gedit en  entrant dans le terminal python /home/yvon/Bureau/test.py et là les 2 lignes sont lues et affichent 2 x bonjour.
Tandis que si je rentre dans le terminal python3 /home/yvon...  , seul le bonjour avec parenthèses s'affiche et l'autre ligne sans ces parenthèses m' envoie une erreur.
Donc en python3 les parenthèses sont obligatoires.
Je mettrai d'office des parenthèses, ainsi que je lance mes programmes en python ou en python3 ça fonctionnera.
Merci d'avoir attirer l'attention sur cette différence entre les 2 pythons.

Hors ligne