为什么Python认为文件不存在我认为呢?

时间:2013-12-11 17:04:57

标签: python exception csv

我试图导入一些文件进行绘图,一切顺利,直到我将程序移到上面的目录之前。似乎有问题的相关代码段如下:

import os
import pandas as pd

path = os.getcwd() + '/spectrum_scan/'
files = os.listdir(path)
dframefiles = pd.DataFrame(files)

up = pd.read_csv(dframefiles.ix[i][0])

如果我直接输入shell os.path.exists(path),它会返回True

目录spectrum_scan中的第一个文件是foo.csv

当我输入os.path.exists(path + 'foo.csv')时,它会返回True,但os.path.isfile('foo.csv')会返回False

此外,要求filesdframefiles会返回所有内容,但是当代码运行时,我会得到Exception: File foo.csv does not exist

我有什么明显的遗失吗?

1 个答案:

答案 0 :(得分:4)

您正在使用os.listdir(),它返回文件名,而不是路径。您需要添加以下路径:

files = [os.path.join(path, f) for f in os.listdir(path)]

否则python将尝试在当前目录中查找'foo.csv',而不是在文件实际所在的spectrum_scan子目录中查找。