以编程方式将文件移动到子目录(不使用unix mv命令)

pafede2

是否可以通过os.rename或shutil.move将目录中的所有文件移动到同一目录的子目录中?

例如,如果我具有以下结构:

  • Dir_1
    • 文件_1
    • 文件_2
    • subDir_1

我可以得到以下结构:

  • Dir_1
    • subDir_1
      • 文件_1
      • File_2?

最好。-

编辑:最后,我使用以下代码解决了我的问题:

    for fname in os.listdir(src):
      if os.path.isfile(os.path.join(src, fname)):
        os.rename(os.path.join(src, fname), os.path.join(dst, fname))

非常感谢你们俩!

阿尔贝托

我希望这可以帮助:

import shutil,os,os.path


def walk(top):
    directory = None
    for root, dirs, files in os.walk(top, topdown=False):
        for name in dirs:
            directory = os.path.join(root, name)
        for name in files:
            f1 = os.path.join(root, name)
            if not f1.endswith('.py') and directory:
                shutil.move(f1,directory)


walk(os.path.realpath(os.curdir))

我用这个fs树尝试了它,它的工作原理是:

-d/
  |-s/
  |-new file.txt
  |-new file1.txt
  |-move.py

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用命令将文件从父目录移动到子目录?

来自分类Dev

MV命令删除文件?

来自分类Dev

mv命令-不要覆盖文件

来自分类Dev

mv命令后文件丢失

来自分类Dev

使用mv命令移动随机文件

来自分类Dev

使用 mv 命令移动包含空格的文件

来自分类Dev

使用Java的Linux的mv命令

来自分类Dev

使用Java的Linux的mv命令

来自分类Dev

用mv重命名文件:“无法移动到其自身的子目录”

来自分类Dev

如何使用mv命令删除文件?

来自分类Dev

使用`mv`命令,我的文件消失了

来自分类Dev

使用 mv 命令后文件丢失

来自分类Dev

在bash命令中使用括号git mv

来自分类Dev

Linux MV命令从脚本失败-使用变量

来自分类Dev

在bash命令中使用括号git mv

来自分类Dev

尝试使用mv命令移动文件,现在丢失了吗?

来自分类Dev

将bash命令嵌入到mv命令中

来自分类Dev

分别将子目录的文件移动到上一级的linux命令是什么

来自分类Dev

意外在主目录上使用“ mv”命令

来自分类Dev

使用mv仅将文件从多个目录递归移动到一个目录

来自分类Dev

为什么命令mv返回消息mv:在Linux上无法移动设备或资源繁忙?

来自分类Dev

使用mv命令时如何排除文件夹

来自分类Dev

使用mv命令时如何排除文件夹

来自分类Dev

将mv命令与多个通配符一起使用

来自分类Dev

使用DIR命令显示带文件的子目录...抑制不带文件的子目录

来自分类Dev

是否有可能以某种方式撤消mv命令的结果?

来自分类Dev

是否有可能以某种方式撤消mv命令的结果?

来自分类Dev

是否有可能以某种方式撤消mv命令的结果?

来自分类Dev

用mv命令替换现有文件夹