0

我在打开文件时遇到问题,python(2.7)告诉我没有这样的文件,但是有。

        csvData = None
        csvHeader = None
        os.chdir("../result/files/")
        for fileName in os.listdir("."):
            if fileName.endswith(".csv"):
                print fileName
                with open("../result/files/"+fileName, 'rb') as csvFile:
                    readerCsv = reader(csvFile, delimiter = ';')
                    csvHeader = readerCsv.next()
                    _unused = readerCsv.next()
                    self.data = list.append(list(readerCsv))

此代码应读取 5 个 csv 文件并将其内容存储在数据中(第一行除外)

起初 chdir 告诉我他找到了 Stats20120903.csv 然后我要求程序打开所述文件但我收到一个错误:

IOError: [Errno 2] No such file or directory: '../files/Stats20120903.csv'

为什么?

谢谢

4

3 回答 3

1

with open(fileName, 'rb') as csvFile:

而不是相对于您更改的目录查找。

于 2013-03-04T12:06:55.513 回答
1

os.chdir不会告诉您目录中有什么,它会更改当前的工作路径。您提供的所有相对文件路径都相对于工作目录。

你应该要么

  • 删除os.chdir("../result/files/")并调用 os.listdir("../result/files/") 或
  • 不要添加"../result/files/"到您要打开的文件名。
于 2013-03-04T12:09:05.320 回答
0

您可以尝试使用os.path.abspath()来找出 Python 尝试使用的实际路径。

于 2013-03-04T12:07:59.673 回答