将文件从源文件夹复制到不同的目标文件夹

2024-10-03 02:41:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将源列表中指定的文件复制到目标列表中。我只希望源[1]转到目的地[1],然后源[2]到目的地[2],依此类推。在

目前,程序会将所有源文件列表文件复制到所有目标文件夹中,而不是只将第一个源文件复制到第一个目标文件夹中。在

谢谢你!在

import os
import shutil
import glob


#Move Program

Sources = [r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_DesertHarvest_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_Goodranch_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_Jackson_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_Lodi_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_Moapa_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_Ponderosa_2017-07.pdf",
       r"C:\Users\simon.rhee\Desktop\Met 201707\GR_MonthlySummary_EDF_UtahSolar1_2017-07.pdf"]



Destinations = [r"G:\MetData\Solar\USA_West\7005 - Desert Harvest_16\1_Asset Management\GroundWorks\1_Monthly Reports",
            r"G:\MetData\Solar\USA_Central\4006_Goodranch\1_Asset Management\Reports",
            r"G:\MetData\Solar\USA_East\8002_Jackson\1_Asset Management\GroundWorks\1_Monthly Reports",
            r"G:\MetData\Solar\USA_Central\4005_Lodi\1_Asset Management\Reports",
            r"G:\MetData\Solar\USA_West\7013_Moapa\1_Asset Management\Reports",
            r"G:\MetData\Solar\USA_West\7012_Ponderosa\1_Asset Management\Groundworks\1_Monthly Reports",
            r"G:\MetData\Solar\USA_West\7011_Utah_Solar_One\1_Asset Management\Reports"]




i = 1
for x in Sources:
    for y in Destinations:
        shutil.copy2(x,y)
        print ("Program",i,"Complete")
        i += 1

Tags: pdfassetmanagementusersreportsdesktopsimonmet
1条回答
网友
1楼 · 发布于 2024-10-03 02:41:37

两个for会给你这个行为。现在,您将Sources中的第一个元素放入x,然后使用相同的x遍历目的地中的所有元素,并将它们放到y并执行复制。因此,如果第一个数组有5个元素,第二个数组也有5个元素,那么复制将运行25次。在

相反,您只需要有1for,它将同时从两个数组中获取一个元素,如下所示:

for x in range(len(Sources)):
    shutil.copy2(Sources[x],Destinations[x])

print ("Program",i,"Complete")

相关问题 更多 >