IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI/RAD Python Discussion :

Lancement d'un programme depuis NotePad++ [Python 3.X]


Sujet :

EDI/RAD Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Grèce

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Lancement d'un programme depuis NotePad++
    Bonjour à tous,

    J'ai écrit un mini programme qui est censé lire une base de donnée. Celle-ci se trouve dans le même dossier que le programme.

    Lorsque je lance avec EduPython, pas de problème. La base est bien lue.
    Si je le lance depuis NotePad++ où je préfère taper mes codes, il me dit : sqlite3.OperationalError: unable to open database file .

    Je pense que ça vient du fait que la ligne de commande ne sélectionne pas le dossier de mon programme comme dossier de travail.
    Voici ce que j'ai mis : C:\Users\.......chemin d'accès.........\python.exe -i "$(FULL_CURRENT_PATH)" .
    Qu'aurais-je du taper ?

    Je vous laisse le code à tout hasard, mais je ne pense pas que le problème vienne de là puisqu'avec EduPython ça fonctionne.

    Merci de votre aide !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import sqlite3
     
    connexion = sqlite3.connect("donnees.db")
    curseur = connexion.cursor()
     
    liste = curseur.execute('SELECT * FROM Utilisateurs').fetchall()
     
    for ligne in liste:
        print("Utilisateur n°", ligne[0], ":", ligne[1], ligne[2], "ans.")
     
    connexion.close()

  2. #2
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    un moyen simple serais de tester avec un simple script comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os
    print(os.getcwd())
    print(__file__)
    input()

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Grèce

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci Flapili,

    Je n'ai pas testé ta solution mais, la nuit portant conseil, j'ai testé de modifier la ligne comme suit...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connexion = sqlite3.connect(r"C:\...chemin d'accès...\donnees.db")
    Ça fonctionne désormais mais ça ne me dit pas comment je peux lancer mon programme avec le même dossier comme dossier par défaut.
    D'ailleurs je l'ai testé avec mon smartphone, et le programme fonctionne avec PyDroid3 mais pas avec QPython. Il ne me reste plus qu'à trouver comment paramétrer NotePad++ et QPython...

    Encore merci !

  4. #4
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    Je conseil d'utiliser le module os.path ainsi que la variable créée automatiquement par python qui est __file__ , je ne suis pas chez moi avant demain midi donc je n'est aucun code sous la main comme exemple désolé.
    Cependant rien de bien compliqué.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Grèce

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par flapili Voir le message
    Je conseil d'utiliser le module os.path ainsi que la variable créée automatiquement par python qui est __file__ , je ne suis pas chez moi avant demain midi donc je n'est aucun code sous la main comme exemple désolé.
    Cependant rien de bien compliqué.
    Pas de problème...
    D'une part, il n'y a aucune urgence, d'autre part, je peux déjà faire pas mal de chose, ayant réussi à régler partiellement le problème...

    Bon dimanche !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Grèce

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonsoir à tous,

    Finalement, j'ai trouvé la solution.
    Pour ceux qui auraient le même problème...

    Il me fallait déclarer le chemin d'accès de Python (qui n'était pas le classique C:\Python) à Windows ainsi :
    • Dans l'explorateur de fichiers, sur Ce PC (ou mon PC) clic droit puis Propriétés.
    • Paramètres système avancés
    • Variables d'environnement
    • Path
    • Modifier
    • Nouveau
    • Ecrire le chemin d'accès à Python (sans le Python.exe)


    Et voilà...

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo