将现有的Shell代码转换为Python以移动文件

时间:2019-06-26 03:27:45

标签: python python-3.x shell

我下面的shell代码基本上是在*.jpg*目录中找到source的{​​{1}},然后将其multiple sub directoriesshuffle移至picks top 2100 files所在的类似文件夹中的dest目录 下面是命令“需要帮助,将其转换为Pyhton”。

source

1 个答案:

答案 0 :(得分:1)

您首先需要使用os.walk遍历目录-可以使用random.shuffle完成改组。最后,您可以shutil.move将文件重新定位到另一个位置。

它看起来像这样,尽管有比将所有这些数据保留在内存中更好的实现方法。

注意::这是递归操作,将一直挖掘到最后一个目录。


import os
import random
import shutil

for root, dirs, files in os.walk('directory/path'):
  random.shuffle(files)
  for filepath in [f for f in files if f.endswith('.jpg')][:2100]:
    shutil.move(os.path.join('dest', filepath))