Ouvrir un fichier

nournina Messages postés 52 Date d'inscription dimanche 27 octobre 2013 Statut Membre Dernière intervention 17 juin 2014 - 5 avril 2014 à 21:11
mo15987 Messages postés 44 Date d'inscription lundi 22 juillet 2013 Statut Membre Dernière intervention 18 mars 2016 - 30 juil. 2014 à 21:02
bonjour,
je fait un petit script qui sert à ouvrir un fichier est voir si un mot entré par l'utilisateur existe dans ce fichier ou bien non
moi j'utilise Ubuntu et un éditeur de python gEdit, mon problème est quand j'exécute le programme il me dit fichier n'existe pas malgré que le fichier est dans un même répertoire
merci d'avance
#!/usr/bin/python

#-*- coding: utf-8
import string
import sys
import os
f = open ('dictionnaire.txt', "r")
mot = raw_input ("entré le mot :: ")
if mot in f:
print "mot juste"
f.close()

3 réponses

ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
Modifié par ndubien le 20/04/2014 à 03:54
Bonjour,

L'adresse du fichier que tentera d'ouvrir python dépendra de ton current working directory - os.getcwd().

Je viens d'effectuer un petit test sur ma Debian et le cwd dépend de quel point tu lances ton script.

Exemple si je suis en: /home/user et que j'utilise ./test/t.py, cwd=/home/user
Exemple si je suis en: /home/user/test et que j'utilise ./t.py, cwd=/home/user/test

Je pense que le problème doit venir de là.

Sinon, je te recommande de préférer l'utilisation de "with open() as f" où f.close() est automatiquement appelé en fin de bloc ou en cas d'exception.
Le mot-clé with est expliqué : http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-python/lecture-et-ecriture-dans-un-fichier

++
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
20 avril 2014 à 03:14
En lisant ton code plus précisément je me demande s'il pourra fonctionner tel quel.

En effet, j'aurais plutôt tendance à utiliser :
if mot in f.read():
au lieu de :
if mot in f:

En espérant que ça te débloquera ;)
0
mo15987 Messages postés 44 Date d'inscription lundi 22 juillet 2013 Statut Membre Dernière intervention 18 mars 2016
Modifié par mo15987 le 30/07/2014 à 21:04
Quand tu exécutes un programme Python , le répertoire de travail courant est le dossier où l'interpréteur Python se trouve .
Donc je propose que tu changes de répertoire, après l'importation du module os, avec la fonction os.chdir(NomDuRepertoireOuSeTrouveTonFichier) avant d'ouvrir le fichier avec open.Dans le paramètre de chdir (Change Directory) , le chemin du fichier doit être au format String .
J'espère t'avoir aidé :) .

Mohamed Elhasnaoui
0
Rejoignez-nous