• Python 移动文件到指定路径


    需求:将指定的文件从指定目录移动到用户指定的目标目录。

    shutil 是 Python 标准库中的一个模块,它提供了许多文件和文件集合的高级操作。基本上,它可以帮助我们执行文件操作,例如复制、移动、更名和删除。它旨在与 os 模块一起使用,以提供更易于使用的接口。

    import os
    import shutil
    
    # 定义要移动的文件列表
    FILES = [
        "abs.c",
        "mod.c",
        "union-struct.c",
        "neg.c",
        "imod.c",
        "add.c",
        "cmp.c"
    ]
    
    # 使用列表推导式替换 .c 为 .s
    FILES = [filename.replace('.c', '.s') for filename in FILES]
    
    print(FILES)
    print("------------------")
    
    # 询问用户源目录和目标目录
    source_dir = input("请输入源目录的路径: ")
    target_dir = input("请输入目标目录的路径: ")
    
    # 检查源目录和目标目录是否存在
    if not os.path.exists(source_dir):
        print("源目录不存在!")
    elif not os.path.exists(target_dir):
        print("目标目录不存在!")
    else:
        for file in FILES:
            source_path = os.path.join(source_dir, file)
            target_path = os.path.join(target_dir, file)
            
            # 检查文件是否存在于源目录
            if os.path.exists(source_path):
                # 使用 shutil.move 来移动文件
                shutil.move(source_path, target_path)
                print(f"已移动 {file}{target_dir}")
            else:
                print(f"文件 {file} 在源目录 {source_dir} 中不存在!")
    
        print("所有文件都已处理完毕.")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    shutil.move() 是直接移动文件或目录到指定的位置。这意味着原始文件或目录将不再存在于其原始位置,而是存在于新的位置。

    具体来说,shutil.move() 的工作原理是:

    1. 如果目标位置在同一文件系统上,它实际上是对原始文件或目录进行重命名。
    2. 如果目标位置在不同的文件系统上,它首先会复制原始文件或目录到目标位置,然后删除原始位置上的文件或目录。

    因此,可以认为它是一个“移动”操作,而不仅仅是“拷贝”操作。


    要在Python中实现文件或目录的拷贝,可以使用 shutil 模块中的 copy()copytree() 函数。

    1. 拷贝文件:
      使用 shutil.copy(src, dst)。这将从 src(源文件)拷贝到 dst(目标位置)。

      示例:

      import shutil
      
      shutil.copy("source_file.txt", "destination_folder/")
      
      • 1
      • 2
      • 3

      注意:如果 dst 是一个目录,那么源文件将会被拷贝到这个目录下,并保持原始的文件名。

    2. 拷贝目录:
      使用 shutil.copytree(src, dst)。这将从 src(源目录)拷贝到 dst(目标位置)。目标目录 dst 不应该已经存在。

      示例:

      import shutil
      
      shutil.copytree("source_folder/", "destination_folder/")
      
      • 1
      • 2
      • 3

    以上就是在Python中拷贝文件和目录的基本方法。

  • 相关阅读:
    Springboot物资发放管理系统
    前端开发禁用F12和右键检查元素处理
    第十九章 ES6语法
    Windows Server AD域控 WUSU补丁服务器
    戏说领域驱动设计(十九)——外验
    SWT/ANR问题--当发送ANR/SWT时候如何打开binder trace(BinderTraces)
    【iOS开发】- Block传值的基础学习
    <图像处理> Harris角点检测
    算法训练第六十三天|被围绕的区域
    JS模块化系统
  • 原文地址:https://blog.csdn.net/weixin_43844521/article/details/132985166