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

Django Python Discussion :

Script n'accède pas à des fichiers dans le même dossier [Python 3.X]


Sujet :

Django Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Septembre 2021
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2021
    Messages : 55
    Par défaut Script n'accède pas à des fichiers dans le même dossier
    Bonjour à tous,

    Dans un projet Django j'utilise un script python qui à besoin entre autres d'accèder à des fichiers json et txt situés dans le même dossier. Hors du projet django ce script fonctionne parfaitement mais une fois dedans il me met l'erreur suivante :
    FileNotFoundError: [Errno 2] No such file or directory

    Et je n'arrive pas à le résoudre.

    Pour infos voici l'arborescence de mes fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    projetDjango
    |_ manage.py
    |_ projetDjango
        |__ settings.py
        |__ urls.py
        |__ views.py
        |__ wsgi.py
        |__ templates
             |__home.html
        |__ scripts
             |__script.py
             |__dico1.json
             |__dico2.json
             |__param.txt
    et l'extrait problématique dans script.py:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import os
    def mainFunction():
        if os.path.exists('dico1.json'): #ou ('fullPath/dico1.json') ou ('scripts/dico1.json')
            with open('dico1.json') as json_file:
                ...
    et voici mon fichier views.py aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    from django.shortcuts import render
    from .scripts.script import *
     
    def home(request):
        return render(request, 'home.html')
     
    def external(request):
        mainFunction()
        return render(request,'home.html')
    Si jamais vous avez un idée je suis preneur,

    merci d'avance !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 698
    Par défaut
    Salut,

    Citation Envoyé par ptrs32 Voir le message
    Hors du projet django ce script fonctionne parfaitement mais une fois dedans il me met l'erreur suivante :
    FileNotFoundError: [Errno 2] No such file or directory
    Si vous ne mettez pas un nom de chemin absolu, il sera relatif au répertoire de travail de l'utilisateur.
    Et si le nom du fichier est relatif au répertoire du script, il va falloir le "calculer" en fonction de la variable __name__ qui contient le chemin relatif du script.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Septembre 2021
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2021
    Messages : 55
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Si vous ne mettez pas un nom de chemin absolu, il sera relatif au répertoire de travail de l'utilisateur.
    Et si le nom du fichier est relatif au répertoire du script, il va falloir le "calculer" en fonction de la variable __name__ qui contient le chemin relatif du script.

    - W
    Merci pour l'info je ne connaissais pas cette variable.

    Pour info ma variable __name__ avait pour valeur projetDjango.scripts.script
    J'ai donc changé le chemin relatif de mes fichiers en '../dico.json' et ça marche.

    Encore merci !

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

Discussions similaires

  1. Recherche un fichier dans un même dossier
    Par apdf1 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2020, 10h40
  2. Copier des fichiers dans un autre dossier
    Par SBRKH dans le forum Débuter
    Réponses: 3
    Dernier message: 09/01/2016, 10h42
  3. Script shell pour renommer des fichiers dans des sous répértoires
    Par ibuto dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/12/2013, 20h52
  4. transférer des fichiers dans un autre dossier de façon dynamique
    Par soria_t dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 08/08/2008, 16h28
  5. rechercher des fichiers dans tous les dossiers
    Par nitteo dans le forum MFC
    Réponses: 4
    Dernier message: 23/06/2006, 18h08

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