首页 > 解决方案 > 使用 Python 通过目录中的文件运行迭代时出现 FIleNotFoundError

问题描述

我正在尝试遍历目录中的 csv 文件,从 csv 文件中提取 URL,然后将它们保存在列表中。我可以使用以下代码为一个文件成功完成此操作:

sec_urls = []
filename = './2000Q1.csv'

with open(filename, newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for line in reader:
        url = line[4].strip()
        sec_urls.append(url)
        print(url, 'downloaded and added to list')

但是,当我使用 for 循环尝试为所有文件完成此操作时,我得到一个我没有命名并且肯定在列表中的特定文件的错误(我可以重写上面的代码以单出这个文件) . 代码和相应的错误如下:

sec_urls = []
directory = '/Users/nicolacornforth/index'

for filename in os.listdir(directory):
    if filename.endswith('.csv'):
        with open(os.path.join(INDEX_DIR, filename), newline='') as csvfile:
            reader = csv.reader(csvfile, delimiter=',')
            for line in reader:
                url = line[4].strip()
                sec_urls.append(url)
                print(url, 'downloaded and added to list')
<ipython-input-27-f0b28aed085c> in <module>
      4 for filename in os.listdir(directory):
      5     if filename.endswith('.csv'):
----> 6         with open(os.path.join(INDEX_DIR, filename), newline='') as csvfile:
      7             reader = csv.reader(csvfile, delimiter=',')
      8             for line in reader:

FileNotFoundError: [Errno 2] No such file or directory: './index/2007Q2.csv'

我会很感激任何帮助,我是一个绝对的初学者。

标签: pythonloopsfor-loopfile-not-found

解决方案


推荐阅读