复制文件(作为备份)并更改原始文件名(重新排列内容)

时间:2017-08-02 10:56:50

标签: python python-3.x batch-processing file-rename shutil

我是一个完整的python noob,但我想学习它并将其集成到我的工作流程中。

我有大约400个文件,文件名中有4个不同的部分,用下划线分隔: - > Version_Date_ProjectName_ProjectNumber

我们总是首先查看Projectnumber,我们将新项目的文件名内容安排到: - > ProjectNumber_Version_ProjektName

我现在的问题是,我希望将所有现有文件重命名为新格式,同时将它们备份到名为“Archiv”的子目录中。

它必须是我放在目录中的一个简单脚本,此目录中的每个文件都将被复制为备份并更改为新文件名。

编辑:

我的第一步是在源目录中创建一个子文件夹,它以某种方式工作。但我没有看到,我只需要备份具有特定文件扩展名的文件。

import os, shutil

src_dir= os.curdir
dst_dir= os.path.join(os.curdir, "Archiv")

shutil.copytree(src_dir, dst_dir)

我尝试使用here的解决方案扩展代码,但它无法解决问题。 :/

1 个答案:

答案 0 :(得分:0)

import os
import shutil  
import glob

src_path = "YOU_SOURCE_PATH"
dest_path = "YOUR DESTINATION PATH"

if not os.path.exists(dest_path):
    os.makedirs(dest_path)

files = glob.iglob(os.path.join(src_dir, "*.pdf"))
for file in files:
if os.path.isfile(file):
    shutil.copy2(file, dest_path)