基于文件和文件夹名称在python中移动文件

时间:2018-05-18 22:23:34

标签: python-3.x directory shutil

相对较新的python(不是每天都使用它)。但是我试图简化一些事情。我基本上都有具有长名称的键,但键(或文件名)的子集具有相关文件夹的相同序列。{原谅缩进,它正确缩进。} I.E

file1将是:101010-CDFGH-8271.dat,文件夹是CDFGH-82 file2将是:101010-QWERT-7425.dat,文件夹是QWERT-74

import os
import glob
import shutil


files = os.listdir("files/location")
dest_1 = os.listdir("dest/location")

for f in files:
    file = f[10:21]

for d in dest_1:
    dire = d

if file == dire:
    shutil.move(file, dest_1)

代码运行时没有错误,但没有任何动作。期待您的回复和学习的机会。

抱歉更新了格式。

1 个答案:

答案 0 :(得分:0)

尝试以下变体:

basedir = "dest/location"

for fname in os.listdir("files/location"):
    dirname = os.path.join(basedir, fname[10:21])
    if os.path.isdir(dirname):
        path = os.path.join("files/location", fname)
        shutil.move(path, dirname)