FileNotFoundFehler: [Errno 2] Datei oder Verzeichnis existiert nicht [duplicate]

Lesezeit: 4 Minuten

FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
Benutzer3266816

Ich versuche, eine CSV-Datei zu öffnen, aber Python kann sie aus irgendeinem Grund 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

  • Ist address.csv im selben Ordner wie Ihr Python-Code (.py)? Sie verwenden einen relativen Pfad. Wenn dies nicht der Fall ist, müssen Sie einen vollständigen Pfad angeben, z C:folderfolderaddress.csv

    – Cory Kramer

    9. März 14 um 13:29 Uhr

  • Wenn du den genauen Fehler posten könntest, wäre es einfach zu beantworten.

    – Srivatsan

    9. März 14 um 13:33 Uhr

  • @Cyber ​​Die Datei ist nicht relativ zu dem Verzeichnis, das den Quellcode enthält. Es ist relativ zum Arbeitsverzeichnis. Zufällig können diese Verzeichnisse gleich sein, aber es ist wichtig, genau zu sein.

    – David Heffernan

    9. März 14 um 13:35 Uhr

  • Ich habe vergessen, die Erlaubnis zu schreiben, danach füge ich “wb” hinzu und arbeite ordnungsgemäß. Danke

    – Saiful-Islam

    28. Dezember 19 um 2:03 Uhr

FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
tsroten

Wenn Sie eine Datei mit dem Namen öffnen address.csvdu erzählst das open() Funktion, 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 Folgendes zu 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 %r: %s" % (cwd, files))

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

Eine andere Art, das zu sagen open() Funktion, wo sich Ihre Datei befindet, ist die Verwendung eines absoluten Pfads, z. B.:

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

1643906766 673 FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
David Heffernan

Sie verwenden einen relativen Pfad, was bedeutet, dass das Programm im Arbeitsverzeichnis nach der Datei sucht. Der Fehler sagt Ihnen, dass es keine Datei mit diesem Namen im Arbeitsverzeichnis gibt.

Versuchen Sie, den genauen oder absoluten Pfad zu verwenden.

  • Okay, das funktioniert, aber was ist, wenn Sie den Code verteilen möchten, damit die Leute ihn verwenden können? Sie können nicht erwarten, dass der absolute Pfad in diesem Szenario funktioniert, oder?

    – Abhishta Gatya

    8. Oktober 17 um 15:31 Uhr

  • @AbhishtaGatya, in diesem Fall müssen Sie Umgebungsvariablen einrichten, um das aktuelle Arbeitsverzeichnis zu lesen!

    – Dr. Essen

    9. August 18 um 7:36 Uhr

FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
Rajat Soni

Für Leute, die trotz Übergabe des absoluten Pfads immer noch Fehler bekommen, sollten sie überprüfen, ob die Datei einen gültigen Namen hat. Für mich habe ich versucht, eine Datei mit “https://stackoverflow.com/” im Dateinamen zu erstellen. Sobald ich “https://stackoverflow.com/” entfernt habe, konnte ich die Datei erstellen.

1643906767 33 FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
Brad

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

Ich stoße auf diesen Fehler, weil die Datei ist leer. Diese Antwort ist möglicherweise keine richtige Antwort auf diese Frage, aber hoffentlich kann sie einigen von Ihnen einen Hinweis geben.

1643906767 156 FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
Dinesh Reddy

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)

  • Wollen Sie sagen, dass immer absolute Pfade verwendet werden sollten und relative Pfade nicht verwendet werden sollten?

    – David Heffernan

    9. März 14 um 13:57 Uhr

  • NEIN. Ich sage, es ist besser, den absoluten Pfad zu verwenden. Wenn sich das Skript und die Eingabedatei beide im selben Verzeichnis befinden, sollte relativ funktionieren.

    – Dinesh Reddy

    10. März 14 um 12:44 Uhr

  • Es ist nicht besser, wenn Sie möchten, dass der Pfad relativ ist. Darüber hinaus ist es relativ zu der Arbeitsverzeichnis und das Skriptverzeichnis.

    – David Heffernan

    10. März 14 um 12:50 Uhr

1643906768 464 FileNotFoundFehler Errno 2 Datei oder Verzeichnis existiert nicht duplicate
Auffen

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 auch im selben Verzeichnis “c:index.html”, wenn ich das Skript von cmd (oder Shell) ausführe.

C:UsersAmine>python c:script.py

Sie erhalten Fehler:

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

Und das, weil „index.html“ nicht im Arbeitsverzeichnis „C:UsersAmine>“ liegt. 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, absolute Pfade zu verwenden.

  • Wollen Sie sagen, dass immer absolute Pfade verwendet werden sollten und relative Pfade nicht verwendet werden sollten?

    – David Heffernan

    9. März 14 um 13:57 Uhr

  • NEIN. Ich sage, es ist besser, den absoluten Pfad zu verwenden. Wenn sich das Skript und die Eingabedatei beide im selben Verzeichnis befinden, sollte relativ funktionieren.

    – Dinesh Reddy

    10. März 14 um 12:44 Uhr

  • Es ist nicht besser, wenn Sie möchten, dass der Pfad relativ ist. Darüber hinaus ist es relativ zu der Arbeitsverzeichnis und das Skriptverzeichnis.

    – David Heffernan

    10. März 14 um 12:50 Uhr

.

757670cookie-checkFileNotFoundFehler: [Errno 2] Datei oder Verzeichnis existiert nicht [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy