如何在Python中组织文件?

时间:2016-04-07 23:10:11

标签: python

我有PDF文件喜欢这个:

  • 9706_s15_qp_12
  • 9706_w15_qp_12

我想根据名字移动文件。例如_s15summer 2015_w15winter 2015

我有很多文件。我曾使用shutil.move('C:\\bacon.txt', 'C:\\eggs')

但问题是我必须逐个编写文件名。怎么递归呢?

我使用了这段代码:

import os
import shutil

os.chdir('D:\\Accounting (9706)')
for root, dirs, files in os.walk('D:\\Accounting (9706)', topdown=False):
    for name in files:
        shutil.move(name, 'D:\\')

它移动了我的所有文件。我想移动特定的。

3 个答案:

答案 0 :(得分:1)

也许尝试制作一个字典,其中键是您希望将文件移动到的位置,值是您希望移动到该位置的所有文件的列表。然后遍历字典的键和值。您可以将移动实用程序与变量一起使用,只要变量是字符串并且对应于有效位置即可。

答案 1 :(得分:1)

试试这个:

import os
for root, dirs, files in os.walk('your source path', topdown=False):
        for name in files:
            shutil.move(name, 'your target path')

答案 2 :(得分:1)

我相信这就是你要找的东西:

import os
import shutil
moving_dict = {
    "_w15": "D:\\Winter 15\\",
    "_s15": "D:\\Summer 15\\"
}

os.chdir('D:\\Accounting (9706)')
for root, dirs, files in os.walk('D:\\Accounting (9706)', topdown=False):
    for name in files:
        for short, dest in moving_dict.items():
            if short in name:
                shutil.move(name, dest)
                break

        else:
            print("Short name wasn't found in "+name)