wake-up-neo.com

FileNotFoundError: [Errno 2] Keine solche Datei oder Verzeichnis

Ich versuche, eine CSV-Datei zu öffnen, aber aus irgendeinem Grund kann Python sie nicht finden.

Hier ist mein Code (es ist nur ein einfacher Code, aber ich kann das Problem nicht lösen):

import csv

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

Wenn Sie eine Datei mit dem Namen address.csv öffnen, teilen Sie der Funktion open() mit, dass sich Ihre Datei im aktuellen Arbeitsverzeichnis befindet. Dies wird als relativer Pfad bezeichnet.

Um Ihnen eine Vorstellung davon zu geben, was das bedeutet, fügen Sie dies Ihrem Code hinzu:

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))

Dadurch wird das aktuelle Arbeitsverzeichnis mit allen darin enthaltenen Dateien gedruckt.

Sie können der open()-Funktion auch mitteilen, wo sich Ihre Datei befindet, indem Sie einen absoluten Pfad verwenden, z.

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

Sie verwenden einen relativen Pfad, dh das Programm sucht nach der Datei im Arbeitsverzeichnis. Der Fehler weist darauf hin, dass sich im Arbeitsverzeichnis keine Datei mit diesem Namen befindet. 

Verwenden Sie den exakten oder absoluten Pfad.

22
David Heffernan

Bei Personen, die trotz der Weitergabe des absoluten Pfads immer noch eine Fehlermeldung erhalten, sollten Sie prüfen, ob die Datei einen gültigen Namen hat. Für mich habe ich versucht, eine Datei mit '/' im Dateinamen zu erstellen. Sobald ich '/' entfernte, konnte ich die Datei erstellen. 

3
Rajat Soni

versuchen Sie, die '.csv' aus dem Namen der Datei zu entfernen, oder fügen Sie in der -Offnungsfunktion eine zusätzliche hinzu. arbeitete für mich.

3
Ahmad Mohammad

Verwenden Sie den genauen Pfad.

import csv

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

Nehmen wir an, wir haben ein Skript in "c:\script.py", das Folgendes enthält:

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

Nehmen wir an, die Datei index.html befindet sich ebenfalls im selben Verzeichnis "c:\index.html" , Wenn das Skript von cmd (oder Shell) ausgeführt wird. 

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

Sie erhalten eine Fehlermeldung:

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

Und das, weil "index.html" nicht im Arbeitsverzeichnis liegt, das "C:\Users\Amine>" ist. Damit es funktioniert, müssen Sie das Arbeitsverzeichnis ändern 

C:\python script.py

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

Aus diesem Grund ist es vorzuziehen, den absoluten Pfad zu verwenden.

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

Ich stoße auf diesen Fehler, weil die Datei leer ist . Diese Antwort ist möglicherweise keine richtige Antwort auf diese Frage, sollte jedoch den Entwicklern einen Hinweis wie mich geben.

0
Bowen Xu