Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire programme dans un fichier

    6 décembre 2011 à 16:00:47

    Bonjour
    J'ai beau suivre le tuto : http://www.siteduzero.com/tutoriel-3-3 [...] fichiers.html

    Je n'arrive pas à faire fonctionner mon programme :(

    J'ai ouvert un fichier gedit sous Ubuntu.

    copier :

    #!/usr/bin/env python
    # -*-coding:Utf-8 -*


    print("Bonjour le monde !")
    print 2 * 2


    mais voila rien ne se passe.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      6 décembre 2011 à 16:52:50

      et après avoir mis le code tu as fais quoi?
      • Partager sur Facebook
      • Partager sur Twitter
        6 décembre 2011 à 17:23:04

        telle est la question :-° que dois je faire ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          6 décembre 2011 à 17:41:45

          Eh bien... :-°

          1) Tu t'assures que tu as python version 3 installé

          sudo apt-get install python3


          2) A l'aide de ta console, tu vas dans le dossier où se trouve ton fichier python

          cd /home/user/Bureau


          par exemple, tu adaptes.

          3) Puis tu tapes dans la console toujours

          python3 monscript.py


          Voilà...
          • Partager sur Facebook
          • Partager sur Twitter
            6 décembre 2011 à 17:56:19

            Encore mieux, remplace la première ligne de ton script (c'était PRESQUE ça) par :

            #!/usr/bin/env python3
            


            Puis, dans un terminal :

            chmod +x chemin/de/ton/script.py


            Puis, pour lancer le script, tu n'as plus qu'à taper :

            chemin/vers/ton/script.py
            
            # ou bien
            
            cd chemin/vers/ton
            ./script.py


            Et admire la magnifique exception produite par ton code :

            File "tmp.py", line 5
                print 2 * 2
                      ^
            SyntaxError: invalid syntax


            Que tu peux corriger en remplaçant la dernière ligne par :

            print(2 * 2)
            

            • Partager sur Facebook
            • Partager sur Twitter
            Zeste de Savoir, le site qui en a dans le citron !
              6 décembre 2011 à 18:36:11

              Merci pour le ptit tuto c'est cool, par contre j'ai python 2.6.5 mais j'imagine que cela ne change rien au processus .

              Je tape : cd home/myname/bureau

              et j'obtiens:

              cd home/myname/bureau
              ^
              SyntaxError o_O
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                6 décembre 2011 à 18:41:27

                Si tu suis le tutoriel, il te faut la version 3.x, il y a eu des changements notables entre la version 2.x et 3.x
                • Partager sur Facebook
                • Partager sur Twitter
                  6 décembre 2011 à 18:44:28

                  Le problème est que je viens de commencer la fac en info.
                  Et ils m'ont fait installer cette version.
                  Ne connaissant pas Python, je ne peux dire pourquoi mais je préférerai ne pas changer de version
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    6 décembre 2011 à 18:55:18

                    Ok, c'est celle que je préfère, voilà le code modifié

                    #!/usr/bin/env python
                    # -*- coding:Utf-8 -*-
                     
                    
                    print "Bonjour le monde !" # on vire les parenthèses, print n'est pas une fonction en version 2.x
                    print 2 * 2
                    


                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 décembre 2011 à 19:04:02

                      oki merci pour la correction du code même si fondamentalement je l'ai juste taper pour un test.
                      Je suis un peu plus loin que ca dans mon apprentissage :-)

                      Par contre je n'arrive pas à régler mon problème d'accès a mon fichier .py
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        6 décembre 2011 à 19:08:06

                        Tout y est expliqué, que se soit du côté de nohar ou du mien

                        Chez moi juste une petite modification, on vire le 3 de python

                        python monscript.py


                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 décembre 2011 à 19:10:51

                          Quand on disait de taper "cd machin" dans la console, c’était dans le shell linux, pas dans la console python. Je suppose que tu tournes sous GNU/Linux vu les deux premières lignes de ton fichier, si t’es sous windows, faudra mettre autre chose.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            6 décembre 2011 à 20:35:40

                            Je ramène une nouvelle fois mon grain de sel à propos du shebang.

                            Sous la plupart des distributions Linux, à l'heure actuelle, le shebang suivant :

                            #!/usr/bin/env python
                            


                            permet, lorsque l'utilisateur a les droits en exécution sur le script (d'où le chmod +x) de lancer automatiquement le script avec python 2 lorsque tu tapes ./monscript.py.

                            À partir de là, deux choses importantes sont à noter.

                            La première, si tu ne donnes à personne les droits en exécution sur ton script avec chmod, alors le shebang en première ligne est inutile.

                            Pour rester cohérent, donc, soit tu ne mets pas le shebang et tu lances ton programme avec python monscript.py, soit tu mets un shebang, et à ce moment là, tu changes les droits dessus et tu le lances avec ./monscript.py.

                            La dernière remarque est la plus importante : ce shebang, tel quel, ne se comportera pas de la même manière partout. En effet, sous Archlinux notamment, la version "par défaut" de python (qui est lancée si tu ne précises rien d'autre) est la 3 et non la 2. C'est problématique car les deux versions ne sont pas compatibles entre elles.

                            Ainsi, une bonne habitude à prendre (qui devient indispensable lorsque tu distribues ton script à d'autres POSIXiens), est de toujours préciser la version de python utilisée dans ton shebang, même lorsque c'est la 2.x :

                            #!/usr/bin/env python2
                            


                            Edit : Dernière remarque. Le fait de préciser la version de python dans ton shebang est aussi un moyen simple, rapide et lisible de dire aux membres du forum la version de python que tu utilises lorsque tu postes ici. Comme le dit si bien le zen de Python : "Explicit is better than implicit".
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Zeste de Savoir, le site qui en a dans le citron !

                            Ecrire programme dans un fichier

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown