技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

使用 Python 将文件移动到以创建和修改日期命名的目录

pythonserver side programmingprogramming

在此问题陈述中,我们必须借助 Python 移动以创建和修改日期目录命名的文件夹中的所有文件。在此任务中,我们将使用一些预定义的 Python 库来顺利处理文件的重新定位。

了解问题

如我们所见,根据日期或修改和创建时间管理文件。因此,在本文中,我们将通过创建 Python 脚本来简化此任务,通过将文件夹名称指定为修改或创建日期,根据创建和修改日期移动文件。因此,基本上,我们将查找该文件夹并移动文件,如果该文件夹未按日期显示,则我们将根据文件修改日期命名新文件夹,并按创建或修改日期的顺序排列这些文件。

在上图中,我们可以看到这些文件及其修改日期。因此,我们将按修改日期文件夹排列这些文件。

算法

  • 步骤 1 − 首先在 Python 脚本的开头导入必要的库。在我们的程序中,我们导入了 OS、shutil 和 datetime 库。

  • 步骤 2 - 定义文件所在的源文件路径以执行移动操作。

  • 步骤 3 - 然后将当前工作目录更改为源目录。然后列出当前目录中的所有目录和文件。

  • 步骤 4 - 因此,我们需要一个工作文件夹,因此我们将使用 os 库的 getcwd 函数。

  • 步骤 5 - 现在,我们将使用 for 循环遍历当前工作目录的所有文件。

  • 步骤 6 - 在循环中,我们将当前目录路径与文件或目录名称连接起来。

  • 步骤 7 - 检查条件,如果我们在正确的路径上,则将所有文件移动到当前目录。并在移动文件时删除目录。

  • 步骤 8 - 如果未找到正确的路径,则获取文件的修改日期并创建目录并将其命名为修改日期。并将所有文件移动到目标文件夹。

示例

import os as system
import shutter
import datetime

source_directory = r"F:/Python Tutorial/Tutorialspoint folder/test"

# 将当前工作目录更改为源目录
system.chdir(source_directory)

# 列出当前目录中的所有目录和文件
all_files = system.listdir()

# 需要当前工作文件夹
output = system.getcwd()

# 循环遍历当前文件夹中的每个文件
for dir_or_file in all_files:
   try:
    # 将当前目录路径与文件/目录名连接起来
    path = system.path.join(output, dir_or_file)
    
    if system.path.isdir(path):
        # 将目录下的文件移动到当前目录
        dir_files = system.listdir(path)
        for dir_file in dir_files:
        file_path = system.path.join(path, dir_file)
        shutter.move(file_path, output)
        
        # 当文件移动时删除目录
        shutter.rmtree(path)
    else:
        # 获取文件的修改日期
        modify_time = system.path.getmtime(path)
        modify_date = datetime.datetime.fromtimestamp(modify_time)
        
        # 根据修改日期创建目录
        dir_name = modify_date.strftime("%b-%d-%Y")
        dest = system.path.join(output, dir_name)
        
        # 如果目录不存在则创建它
        system.makedirs(dest, exist_ok=True)
        
        # 将文件移动到目标文件夹
        shutil.move(path, dest)
   except Exception as e:
      print(f"Error occurred: {e}")

print("Successfully moved the files.")

输出

$$\mathrm{Before \: Moving}$$

$$\mathrm{After \: Moving}$$

结论

因此,我们在 Python 的帮助下创建了一个代码,将所有文件移动到以创建和修改日期命名的目录中。因此,基本上我们使用了 Python 的 os、shutil 和 datetime 库。我们遍历了源路径中的所有文件和目录,并将字段移动到相应的目录中。


相关文章