我使用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根据子文件夹命名文件来自非连续系列。 任何帮助表示赞赏。 预先感谢
答案 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文件,请相应地进行更改。