在python中,如何根据文件名将文件移动到特定的目录中?

2024-09-19 23:40:36 发布

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

我有一个名为/user/local/的目录,其中有几个格式为jenjar.dat_1和{}的文件。还有另一个目录/user/data,其中有两个子目录,jenjar和{}。我需要一个Python代码,它可以将jenjar.dat_1移到/user/datajenjar目录,类似地,jenmis.dat_1移到jenmis目录中。在

我想os模块就可以这样工作了,但是我很困惑。这里的大多数问题并没有显示出Python式的方法来做到这一点。在

编辑:我找到了解决办法

destination = '/user/local'
target = '/user/data'
destination_list = os.listdir(destination)
data_dir_list = os.listdir(target)
for fileName in destination_list:
   if not os.path.isdir(os.path.join(destination, fileName)):
       for prefix in data_dir_list:
           if fileName.startswith(prefix):
               shutil.copy(os.path.join(destination, fileName), os.path.join(target, prefix, fileName))

Tags: path目录targetdataprefixoslocalfilename
1条回答
网友
1楼 · 发布于 2024-09-19 23:40:36

这应该能起作用

srcDir = '/user/local'
targetDir = '/user/data'
for fname in os.listdir(srcDir):
    if not os.path.isdir(os.path.join(srcDir, fname)):
        for prefix in ['jenjar.dat', 'jenmis.dat']:
            if fname.startswith(prefix):
                if not os.path.isdir(os.path.join(targetDir, prefix)):
                    os.mkdir(os.path.join(targetDir, prefix))
                shutil.move(os.path.join(srcDir, fnmae), targetDir)

相关问题 更多 >