0

我是新手,python下面的代码让我发疯。它列出了目录中的文件,并为每个文件做一些事情。我得到一个IOError: [Errno2] No such file or directory: my_file_that_is_actually_there!

def loadFile(aFile):
  f_gz = gzip.open(aFile, 'rb')
  data = f_gz.read()
  #do some stuff...
  f_gz.close()
  return data

def main():
  inputFolder = '../myFolder/'
  for aFile in os.listdir(inputFolder):
    data = loadFile(aFile)
    #do some more stuff

该文件存在且未损坏。我不明白 python 如何在检查myFolder.

注意:为什么这个异常只发生在循环的第二次迭代?找到并打开文件夹中的第一个文件,没有任何问题...

4

1 回答 1

2

这是因为open接收本地名称(从 返回os.listdir)。它不知道你的意思是它应该在../myFolder. 所以它接收一个相对路径并将其应用于当前目录。要修复它,请尝试:

data = loadFile(os.path.join(inputFolder, aFile))
于 2012-11-10T21:54:33.120 回答