[Python] Ouvrir un fichier
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

[Python] Ouvrir un fichier



  1. #1
    inviteafc2d3a1

    [Python] Ouvrir un fichier


    ------

    Bonjour à tous.

    J'étudie actuellement le python à l'université et mon fichier ne veut pas s'ouvrir. Pourtant, mon code Python et mon fichier texte que je souhaite ouvrir sont dans le même dossier.

    Voilà mon code:

    Code:
    fichier=open('words.txt')
    Mes deux fichiers sont dans un dossier "tp". Et lorsque je souhaite lire mon code, cela me dit:

    "[Errno2] No such file or directory: 'words.txt'"

    Je ne vois pas où j'ai foiré, vue qu'ils sont tous les deux dans le même répertoire.

    -----

  2. #2
    CM63

    Re : [Python] Ouvrir un fichier

    Bonjour,

    Il faut spécifier le répertoire où se trouve le fichier à ouvrir. S'il se trouve dans le répertoire de lancement de la procédure, il faut spécifier "./" comme répertoire, et donc faire :

    fic=open("./words.txt")

    A vérifier. Il est possible que cela ne marche pas, car cette syntaxe "./" est la syntaxe Linux. Si cela ne marche pas je t'indiquerai comment rechercher le nom du répertoire de lancement (et faire un code plus "portable").

  3. #3
    Loupsio

    Re : [Python] Ouvrir un fichier

    Vraiment?
    je n'ai jamais fait ça, et cela marche tout de meme,
    par exemple un bout du code que je fais en ce moment est :
    Code:
    tableauglob=open("AllData.csv","a",encoding ="utf-8")
    et cela marche, (mon python et mon csv sont dans le meme dossier,je suis sur linux aussi)
    En revanche tu n'as pas précisé l'argument "w", "a" ou "r" car si c'est "w" ou "a" cela ne le gènera pas puisque si le fichier n'existe pas, il va le créer, en revanche si c'est "r" (read) il lui faut le fichier, peut etre que l'absence de cet argument peut le perturber
    Dernière modification par Loupsio ; 02/11/2017 à 19h44.

  4. #4
    pm42

    Re : [Python] Ouvrir un fichier

    Citation Envoyé par Loupsio Voir le message
    Vraiment?
    je n'ai jamais fait ça, et cela marche tout de meme,
    En effet. Je viens de vérifier sur ma machine et ça fonctionne tel quel sans le ./ devant et sans préciser le mode (Python 2.7).
    Si le fichier est là, rien de spécial, s'il ne l'est pas on a une exception.

    Une question serait de savoir s'il lance son programme en étant dans le répertoire tp. Parce qu'il fait python tp/foo.py, cela pourrait expliquer le problème.

  5. A voir en vidéo sur Futura
  6. #5
    Loupsio

    Re : [Python] Ouvrir un fichier

    En fait j'ai compris après coup ce que voulait dire CM63, le "./" c'est pour ouvrir un fichier avec son application (ouvrir un fichier texte avec gedit par exemple, en important "os"), mais la fonction open dont febreen parle, c'est pour ouvrir dans python, pour que python charge le fichier texte, pas pour qu'il se lance
    Si le fichier est là, rien de spécial, s'il ne l'est pas on a une exception.
    quel argument? w r ou a ? car normalement w et a meme s'il n'est pas la il ne devrait pas y avoir d'erreur, il devrait créer le fichier.

    Parce qu'il fait python tp/foo.py, cela pourrait expliquer le problème.
    Il pourrait lancer un "ls" du shell pour lister les fichiers du répertoire, mais le lancer sous python, comme ca il sera fixé sur ce point je pense

  7. #6
    CM63

    Re : [Python] Ouvrir un fichier

    Citation Envoyé par Loupsio Voir le message
    En fait j'ai compris après coup ce que voulait dire CM63, le "./" c'est pour ouvrir un fichier avec son application
    Non, c'était bien pour ouvrir le fichier avec open depuis Python. Et si cela n'avait pas marché avec "./", je lui aurais parlé effectivement du package os , qui lui aurait permis de faire un code plus portable. Mais... (voir plus bas).

    Citation Envoyé par Loupsio Voir le message
    quel argument? w r ou a ? car normalement w et a meme s'il n'est pas la il ne devrait pas y avoir d'erreur, il devrait créer le fichier.
    Si cet argument est absent, il prend "r" par défaut, et si le fichier n'existe pas, il y a une erreur. Et c'est peut-être d'ailleurs cela son problème, plutôt qu'une histoire de répertoire.

    Citation Envoyé par Loupsio Voir le message
    Il pourrait lancer un "ls" du shell pour lister les fichiers du répertoire, mais le lancer sous python, comme ca il sera fixé sur ce point je pense.
    Tout-à-fait (carabosse) (mais on ne sais pas si il est sous Linux).
    Dernière modification par CM63 ; 03/11/2017 à 10h59.

  8. #7
    invite6486d7bd

    Re : [Python] Ouvrir un fichier

    La réponse est peut-être là ? (je ne connais pas Python, mais sait-on jamais)

    "[Errno2] No such file or directory: 'words.txt'"
    Le debuggeur met un apostrophe autour du nom comme s'il croyait que le nom c'était 'words.txt' alors que dans l'exemple de Loupsio il y a des guillemets.

  9. #8
    Loupsio

    Re : [Python] Ouvrir un fichier

    Guillemets et apostrophes sont interchangeables, les deux signifient qu'on a a faire à un string, ton problème vient du fait qu'il ne trouve pas le fichier malgré qu'il ait le bon nom,

    essai de rajouter
    Code:
    import os
    print(os.listdir())
    au debut de ton code,et verifie que dans ce que il te renvoi il y a bien ton fichier

  10. #9
    polo974

    Re : [Python] Ouvrir un fichier

    dans python, commence par un:
    help(open)

    puis, lis et compare...

    READ THE DOC ! ! !
    Jusqu'ici tout va bien...

  11. #10
    pm42

    Re : [Python] Ouvrir un fichier

    Citation Envoyé par polo974 Voir le message
    READ THE DOC ! ! !
    Vu qu'il n'est pas revenu et qu'il semblait avoir écrit du code correct, tu peux crier tant que tu veux...
    On peut aussi ajouter que le help(open) ne donne pas d'information qui lui permette de régler son problème.

  12. #11
    polo974

    Re : [Python] Ouvrir un fichier

    le mode d'ouverture doit être spécifié, ce qu'il n'a pas fait dans son exemple et qu'on peut apprendre en lisant le help, donc lire la doc est utile, CQFD ...
    Jusqu'ici tout va bien...

  13. #12
    inviteafc2d3a1

    Re : [Python] Ouvrir un fichier

    Salut à tous et désolé de ma lenteur de réponse.
    Merci à tous pour vos réponses.

    J'ai demandé à mon prof lors de mon TP en cours. Et c'est parce que dans mon tableau de commande (cmd) sur le pc, je devais changer la direction du lancement de mon fichier grâce à la commande cd Desktop\...\...

    Maintenant, cela marche.

    Merci à vous !
    Jason.

Discussions similaires

  1. exécution d'un fichier python rattaché à un fichier kivy
    Par invite8218ab1b dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 24/11/2014, 15h43
  2. Python correction fichier
    Par inviteb4450379 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 07/08/2012, 01h15
  3. ouvrir un fichier excel depuis un autre fichier avec VBA
    Par invite31937040 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 24/04/2012, 13h44
  4. lecture fichier Python
    Par inviteb4450379 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 09/09/2011, 12h25
  5. ouvrir des fichier sch et brd
    Par invite40846f56 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 15/06/2010, 17h51