2015-06-09 210 views
0

我能够复制不同目录中的文件,但不复制文件内容。我不知道我在做什么错误:使用shutil.copy2可以复制文件但大小仍然为0KB

import os,zipfile,shutil 
rootdir = r'Y:\StorageReports\Mitrend_Reports\test' 
adddir=r'Y:\StorageReports\Mitrend_Reports\test\additional' 
sheetdir=r'Y:\StorageReports\Mitrend_Reports\test\spreadsheets' 
extn="pptx" 
extn1="xlsx" 

for dirpath, dirnames, files in os.walk(rootdir): 
    for i in files: 
     if "Validate the Value" or "VNX Additional Details" in i: 
     if i.endswith (extn):  
       f=os.path.join(dirpath,i) 
       print (f) 
       shutil.copy2(f,adddir) 
for dirpath, dirnames, files in os.walk(rootdir): 
    for j in files: 
     #if "Validate the Value" or "VNX Additional Details" in j: 
     if j.endswith (extn1):  
      f1=os.path.join(dirpath,j) 
      print (f1) 
      shutil.copy2(f1,sheetdir) 
for dirpath, dirnames, files in os.walk(rootdir): 
    for k in files: 
     #print (k) 
     if "VNX Profile" in k: 
      print(k) 
      f2=os.path.join(dirpath,k) 
      print(f2) 
      shutil.copy2(f2,rootdir) 

for dirpath, dirnames, files in os.walk(rootdir): 
    for l in files: 
     #print (k) 
     if "Workload Overview" in l: 
      print(l) 
      f3=os.path.join(dirpath,l) 
      print(f3) 
      shutil.copy2(f3,rootdir) 

我在做什么错误?

+1

格式化您的代码,以便我们可以帮助您 – kvorobiev

+0

我编辑了脚本。谢谢 –

+0

dirpaths的目录是否存在于rootdir,sheetdir和adddir中? –

回答

0

这只发生在shutil.copy(),copy2(),copyfile()没有对文件的“干净”访问时。在大多数情况下,这是因为您在尝试复制文件之前没有关闭文件。没有读取第一个文件的权限也会导致这种情况。

我只是有这个问题,因为我有同一个程序同时安排两次。相互走开。

相关问题