web-dev-qa-db-fra.com

FileNotFoundError: [Errno 2] Aucun fichier ou répertoire de ce type

J'essaie d'ouvrir un fichier CSV mais, pour une raison quelconque, python ne peut pas le localiser.

Voici mon code (c'est juste un code simple mais je ne peux pas résoudre le problème):

import csv

with open('address.csv','r') as f:
    reader = csv.reader(f)
    for row in reader:
        print row
26
user3266816

Lorsque vous ouvrez un fichier portant le nom address.csv, vous indiquez à la fonction open() que votre fichier se trouve dans le répertoire de travail en cours. Ceci s'appelle un chemin relatif.

Pour vous donner une idée de ce que cela signifie, ajoutez ceci à votre code:

import os

cwd = os.getcwd()  # Get the current working directory (cwd)
files = os.listdir(cwd)  # Get all the files in that directory
print("Files in '%s': %s" % (cwd, files))

Cela imprimera le répertoire de travail actuel avec tous les fichiers qu'il contient.

Une autre façon de dire à la fonction open() où se trouve votre fichier consiste à utiliser un chemin absolu, par exemple:

f = open("/Users/foo/address.csv")
27
tsroten

Vous utilisez un chemin relatif, ce qui signifie que le programme recherche le fichier dans le répertoire de travail. L'erreur vous indique qu'il n'y a pas de fichier de ce nom dans le répertoire de travail. 

Essayez d'utiliser le chemin exact ou absolu.

22
David Heffernan

Pour les personnes qui obtiennent toujours une erreur malgré le chemin absolu, vérifiez que le fichier porte un nom valide. Pour moi, j'essayais de créer un fichier avec '/' dans le nom du fichier. Dès que j'ai supprimé '/', j'ai pu créer le fichier. 

3
Rajat Soni

essayez de supprimer le fichier .csv du nom du fichier ou ajoutez-en un dans la fonction. a travaillé pour moi.

3
Ahmad Mohammad

Utilisez le chemin exact.

import csv

with open('C:\path\address.csv','r') as f:
    reader = csv.reader(f)
    for row in reader:
        print row
2
Dinesh

Disons que nous avons un script dans "c:\script.py" qui contient:

result = open("index.html","r")
print(result.read())

Disons que le fichier index.html se trouve également dans le même répertoire "c:\index.html" Lorsque j'exécute le script depuis cmd (ou Shell) 

C:\Users\Amine>python c:\script.py

Vous obtiendrez une erreur:

FileNotFoundError: [Errno 2] No such file or directory: 'index.html'

Et cela parce que "index.html" ne se trouve pas dans le répertoire de travail qui est "C:\Users\Amine>". donc pour le faire fonctionner, vous devez changer le répertoire de travail 

C:\python script.py

'<html><head></head><body></body></html>'

C'est pourquoi il est préférable d'utiliser un chemin absolu.

1
Aouffen
with open(fpath, 'rb') as myfile:
    fstr = myfile.read()

Je rencontre cette erreur parce que le fichier est vide . Cette réponse peut ne pas être une réponse correcte pour cette question mais devrait donner aux développeurs un indice comme moi.

0
Bowen Xu