使用 glob.glob 循环遍历列表中的多个文件夹

Loop over multiple folders from list with glob.glob

如何遍历已定义的文件夹列表以及每个文件夹中的所有单个文件?

我试图让它复制每年文件夹中的所有月份。但是当我 运行 它没有任何反应..

import shutil
import glob


P4_destdir = ('Z:/Source P4')

yearlist = ['2014','2015','2016']

for year in yearlist:
    for file in glob.glob(r'{0}/*.csv'.format(yearlist)):
        print (file)
        shutil.copy2(file,P4_destdir)

我认为问题可能出在您的源路径中需要 /

import shutil
import glob


P4_destdir = ('Z:/Source P4/')

yearlist = ['2014','2015','2016'] # assuming these files are in the same directory as your code.

for year in yearlist:
    for file in glob.glob(r'{0}/*.csv'.format(yearlist)):
        print (file)
        shutil.copy2(file,P4_destdir)

另一件可能成为问题的事情是目标文件是否还不存在。您可以使用 os.mkdir:

创建它
import os

dest = os.path.isdir('Z:/Source P4/') # Tests if file exists
if not dest:
    os.mkdir('Z:/Source P4/')