FileNotFoundError:[Errno 2]没有这样的文件或目录

use*_*816 55 python file find

我试图打开一个CSV文件但由于某种原因python无法找到它.

这是我的代码(它只是一个简单的代码,但我无法解决问题):

import csv

with open('address.csv','r') as f:
    reader = csv.reader(f)
    for row in reader:
        print row
Run Code Online (Sandbox Code Playgroud)

tsr*_*ten 51

当您使用名称打开文件时address.csv,您告诉open()函数您的文件位于当前工作目录中.这称为相对路径.

为了让您了解这意味着什么,请将其添加到您的代码中:

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))
Run Code Online (Sandbox Code Playgroud)

这将打印当前工作目录及其中的所有文件.

告诉open()函数文件所在位置的另一种方法是使用绝对路径,例如:

f = open("/Users/foo/address.csv")
Run Code Online (Sandbox Code Playgroud)


Dav*_*nan 26

您正在使用相对路径,这意味着程序在工作目录中查找该文件.该错误告诉您工作目录中没有该名称的文件.

尝试使用完全或绝对路径.

  • @AbhishtaGatya,在这种情况下,您必须设置环境变量来读取当前的工作目录! (2认同)

Raj*_*oni 10

对于尽管传递了绝对路径但仍然出现错误的人,应该检查文件是否具有有效名称。对我来说,我试图创建一个文件名中带有“/”的文件。删除“/”后,我就能够创建文件。


Bra*_*rad 8

with open(fpath, 'rb') as myfile:
    fstr = myfile.read()
Run Code Online (Sandbox Code Playgroud)

我遇到此错误是因为该文件为空。这个答案可能不是这个问题的正确答案,但希望它可以给你们中的一些人带来提示。