Python Shutil不复制所有文件

Python Shutil不复制所有文件,python,copy,filesystems,shutil,Python,Copy,Filesystems,Shutil,我有一个文件夹,其中的文件名如下: Sheyenne_19840517.dat Sheyenne_19840517.hdr Sheyenne_19840704.dat Sheyenne_19840704.hdr Sheyenne_19840906.dat Sheyenne_19840906.hdr Sheyenne_19850520.dat Sheyenne_19850520.hdr Sheyenne_19850621.dat Sheyenne_19850621.hdr Sheyenne_198

我有一个文件夹,其中的文件名如下:

Sheyenne_19840517.dat
Sheyenne_19840517.hdr
Sheyenne_19840704.dat
Sheyenne_19840704.hdr
Sheyenne_19840906.dat
Sheyenne_19840906.hdr
Sheyenne_19850520.dat
Sheyenne_19850520.hdr
Sheyenne_19850621.dat
Sheyenne_19850621.hdr
Sheyenne_19860726.dat
Sheyenne_19860726.hdr
Sheyenne_19860827.dat
Sheyenne_19860827.hdr
Sheyenne_19870830.dat
Sheyenne_19870830.hdr
Sheyenne_19870915.dat
Sheyenne_19870915.hdr
文件名末尾的数字表示日期。我想按月把文件分开。所以5月(或5月)的所有文件都有自己的文件夹,以此类推。我正在尝试使用以下代码:

import os
import shutil

hank_out=r'F:\Sheyenne\ROI\All_Sheyenne_julian\By_Month\NDVI'
pth=r'F:\Sheyenne\ROI\All_Sheyenne_julian\NDVI'

for f in os.listdir(pth):
    month=os.path.basename(f)[-8:-6]
    if not os.path.isdir(os.path.join(hank_out,month)):
        os.mkdir(os.path.join(hank_out, month))
    shutil.copy(f, os.path.join(hank_out, month)) 

这仅复制一个月内遇到的第一个文件。因此,每个文件夹中只有一个用于输出的文件,并且该文件是该月第一次遇到的文件。我不确定为什么没有复制所有文件。

您从未实际分配
目标路径。也许这只是你文章中的一个输入错误?是的,我已经纠正了,这只是将我的代码复制到此处时的一个错误。我可能还想纠正前两行中的
dir\u name
,以及
shutil.copy
命令的缩进级别太远,只有在路径不存在时才会执行。这很可能是导致你的问题的原因。是的……很简单。非常感谢。