复制文件,重命名,重复并重复

时间:2018-06-20 01:15:04

标签: python python-3.x python-2.7 rename file-rename

我使用os.renmae重命名文件并移动它们,但是我无法执行以下任务。

我有一个主文件夹,其中包含具有以下结构的子文件夹。

主文件夹“后退”,包含以字母和数字命名的子文件夹,例如A01,A02,B01,B02等。每个文件夹中都有一组文件,其中有一个名为“ rad”的文件,因此文件路径示例如下所示:

返回/ A01 / rad     / A02 / rad     / B01 / rad      ... / rad

我在主“后退”中还有另一个子文件夹,称为“ rads” 后背/弧度

我想要做的是仅从背面的每个文件夹中复制所有rad文件,并将它们移至“ rads”文件夹,并根据其来源文件夹命名每个rad文件。 例如rad_A01,rad_A02,rad_B01等...

我真的想不出如何在移动文件时增加文件夹数。

os.rename(“后退/ / rad,后退/ rads / rad _ ”)

我想到了列出所有文件名的列表,然后从列表中的x做类似的事情,执行os.rename(),但是我不知道如何告诉python根据子文件夹命名文件来自非连续系列。 任何帮助表示赞赏。 预先感谢

1 个答案:

答案 0 :(得分:0)

import os
for subdir, dirs, files in os.walk('./Back/'):
    for file in files:
        filepath = subdir+os.sep+file
        if filepath.endswith("rad.txt"):
            par_dir = os.path.split(os.path.dirname(filepath))[1]
            os.system('cp '+filepath+' ./Back/rads/rad_'+par_dir)  

将此python文件保存在Back目录旁边,它应该可以正常工作! 此代码遍历Back的每个子目录中的每个文件,检查所有名称为rad.txt的文件,附加父目录的名称并复制到rads文件夹。 注意:我保存了.txt扩展名的rad文件,请相应地进行更改。

相关问题