如何用Python组织文件?

2024-09-24 06:26:53 发布

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

我有这样的PDF文件:

  • 9706_s15_qp_12
  • 9706_w15_qp_12

我想根据文件名移动文件。比如_s15到{},和{}到{}。在

我有很多文件。我用过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:\\')

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


Tags: 文件nameinimportformovepdfos
3条回答

这就是你要找的我相信:

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)

也许可以试着做一个字典,其中的键是你希望把文件移到的位置,值是你希望移到那个位置的所有文件的列表。然后遍历字典的键和值。可以对变量使用move实用程序,只要变量是字符串并对应于有效位置。在

试试这个:

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

相关问题 更多 >