使用 Python 将文件从一个目录移动到另一个目录

将文件从一个目录移动到另一个目录可能听起来没什么大不了的,但有时,它对操作文件有很大帮助。

本教程将介绍一些在 Python 中将文件从一个目录移动到另一个目录的方法。

在 Python 中使用 shutil.move() 函数移动文件

shutil 模块是一个 Python 模块,可帮助对文件或一组文件进行高级操作。该模块在诸如从某处复制文件或删除文件之类的操作中发挥作用。

为了在 shutil 模块的帮助下将文件从一个目录移动到另一个目录,调用 shutil.move()

例子:

import shutil
import os
 
file_source = 'Path/Of/Directory'
file_destination = 'Path/Of/Directory'
 
get_files = os.listdir(file_source)
 
for g in get_files:
    shutil.move(file_source + g, file_destination)

在这里,listdir() 函数来自 os 模块,用于获取目录中存在的所有文件的完整列表。我们使用 for 循环来移动文件,并注意 shutil 模块的 move() 函数用于将文件从一个目录传输到另一个目录。

在 Python 中使用 os.rename() 或 os.replace() 函数移动文件

很多时候,用户需要通过 Python 连接到主系统。在这种情况下,os 模块发挥作用。os 模块基本上充当用户和计算机操作系统之间的中介,以便用户可以正确连接操作系统。

该模块的功能之一是用于将文件从一个位置移动到另一个位置的 rename() 模块。此函数通过重命名这些文件的目录名称来移动文件。

该模块的另一个功能是 replace() 功能。此功能有助于重命名文件或当前目录。目标必须是文件而不是目录。因此,如果目标是一个文件,那么它将被替换而不会出现任何错误。

总之,当文件的最终目的地与其来源位于同一磁盘中时,将使用 rename() 函数。如果必须更改文件的目的地,则必须使用 replace()

例子:

import os
 
file_source = 'Path/Of/Directory'
file_destination = 'Path/Of/Directory'
 
get_files = os.listdir(file_source)
 
for g in get_files:
    os.replace(file_source + g, file_destination + g)

在这里,我们也遵循相同的过程,首先定义初始目录和最终目录的路径。然后我们使用 listdir() 函数来获取当前目录中所有文件的列表。之后,我们使用 for 循环来覆盖这些文件的目的地。

在 Python 中使用 pathlib 模块移动文件

Python 中的 pathlib 模块是一个标准模块,用于提供用于操作不同文件和字典的对象。处理文件的核心对象称为路径。

例子:

from pathlib import Path
import shutil
import os

file_source ='Path/Of/Directory'
file_destination ='Path/Of/Directory'

for file in Path(file_source).glob('randomfile.txt'):
    shutil.move(os.path.join(file_source,file),file_destination)