2016-06-10 47 views
0

如何循環遍歷定義的文件夾列表和每個文件夾內的所有單個文件?從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) 
+1

您可以使用['os.walk()'](https://docs.python.org/3.5/library/os.html#os.walk)此。 –

+0

你從哪個目錄運行你的腳本*?目錄中是否存在'2014','2015'和'2016'?如果不是,請將它們指定爲絕對路徑。 – user4815162342

回答

1

我認爲這個問題可能是你在你需要/源路徑:

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/') 
相關問題