python利用文件时间批量重命名照片和视频

我来详细讲解一下“Python利用文件时间批量重命名照片和视频”的完整攻略。

1. 获取文件的创建时间

首先,我们需要获取每个文件的创建时间,可以使用Python自带的os库中的stat()函数来实现,代码如下:

import os

def get_create_time(file_path):
    # 获取文件创建时间
    create_time = os.stat(file_path).st_ctime
    # 返回创建时间
    return create_time

2. 将时间转换为字符串格式

得到创建时间以后,我们需要将其转换为我们需要的字符串格式,以便重命名文件,这里我们将其转换为“年月日-时分秒”的格式,代码如下:

import time

def format_time(create_time):
    # 将时间戳转换为结构化时间
    time_struct = time.localtime(create_time)
    # 将结构化时间转换为字符串格式
    str_time = time.strftime("%Y%m%d-%H%M%S", time_struct)
    # 返回字符串格式的时间
    return str_time

3. 批量重命名文件

有了文件的创建时间和字符串格式的时间,我们就可以通过字符串的拼接来批量重命名文件了,代码如下:

def rename_files(path):
    # 遍历目录下所有文件
    for file_name in os.listdir(path):
        # 如果是图片或视频文件
        if file_name.endswith(".jpg") or file_name.endswith(".jpeg") or file_name.endswith(".png") or file_name.endswith(".gif") or file_name.endswith(".mp4") or file_name.endswith(".avi") or file_name.endswith(".mov"):
            # 获取文件完整路径
            file_path = os.path.join(path, file_name)
            # 获取文件创建时间
            create_time = get_create_time(file_path)
            # 将创建时间转换为字符串格式
            str_time = format_time(create_time)
            # 获取文件后缀名
            file_suffix = os.path.splitext(file_name)[1]
            # 拼接新的文件名
            new_name = str_time + file_suffix
            # 重命名文件
            os.rename(file_path, os.path.join(path, new_name))

示例说明

示例1

假设有一组照片,它们的文件名分别为IMG001.jpg、IMG002.jpg、IMG003.jpg,它们的创建时间分别为2022年1月1日、2022年1月2日、2022年1月3日,我们可以将它们重命名为20220101-000000.jpg、20220102-000000.jpg、20220103-000000.jpg,代码实现如下:

rename_files("path/to/photos/folder/")

示例2

假设有一组视频文件,它们的文件名分别为movie001.mp4、movie002.mp4、movie003.mp4,它们的创建时间分别为2022年1月4日、2022年1月5日、2022年1月6日,我们可以将它们重命名为20220104-000000.mp4、20220105-000000.mp4、20220106-000000.mp4,代码实现如下:

rename_files("path/to/videos/folder/")

总的来说,利用Python批量重命名照片和视频文件是一件非常方便的事情,只需要获取文件的创建时间,将时间转换为字符串格式,然后通过字符串拼接来重命名文件即可。

阅读剩余 38%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用文件时间批量重命名照片和视频 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 努力通过 Python 理解 Guardian API

    【问题标题】:Struggling to understand the Guardian API via Python努力通过 Python 理解 Guardian API 【发布时间】:2023-04-03 14:00:01 【问题描述】: 我在 Windows Vista 64 位上使用 Python.org 版本 2.7 64 位。我整理了一些代码,这…

    Python开发 2023年4月8日
    00
  • 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

    【问题标题】:Converting LinearSVC’s decision function to probabilities (Scikit learn python )将 LinearSVC 的决策函数转换为概率(Scikit learn python) 【发布时间】:2023-04-07 13:40:01 【问题描述】: 我使用来自 scikit l…

    Python开发 2023年4月8日
    00
  • Python3的介绍、安装和命令行的认识(推荐)

    以下是关于“Python3的介绍、安装和命令行的认识(推荐)”的完整攻略: Python3的介绍 Python 是一种高级编程语言,它简单易学、功能强大、可扩性强被广泛应用于 Web 开发、数据分析、人工智能等领域。Python3 是 Python 语言的最新,它与 Python 相比,有许多改进和优化,如更好的 Unicode 支持、更好的异步 I/O 支…

    python 2023年5月13日
    00
  • 使用 Python 破解压缩文件的密码的思路详解

    首先需要安装 Python ,本文以 Python 3 为例。安装完成后,需要安装 zipcrack 库。zipcrack 是一个用于破解 zip 压缩文件密码的 Python 库,我们可以通过 pip 包管理器安装 zipcrack 库。 安装 zipcrack 库的命令如下: pip install zipcrack 编写基本代码 我们先来编写基本代码,…

    python 2023年6月3日
    00
  • Sql 将 python 元组合并到键上的数据库中?

    【问题标题】:Sql to merge python tuples into database on keys?Sql 将 python 元组合并到键上的数据库中? 【发布时间】:2023-04-01 00:50:01 【问题描述】: 我有一个 SQL 数据库和一个 Python 元组列表,其中的值按列排序。 我只是想将元组插入到 SQL 数据库中,并在一些…

    Python开发 2023年4月8日
    00
  • 如何使用Python查询包含某个特定字符串的所有行?

    以下是如何使用Python查询包含某个特定字符串的所有行的完整使用攻略。 步骤1:导入模块 在Python中,我们需要使用相应的数据库驱动程序来连接数据库。以下是导入mysql-connector-python模块的基本语法: import mysql.connector 以下是导入psycopg2模块的基本语法: import psycopg2 步骤2:连…

    python 2023年5月12日
    00
  • 详解Python中的数据清洗工具flashtext

    在Python中,我们可以使用flashtext这个数据清洗工具来快速地从文本中提取关键词。本文将详细介绍flashtext的使用方法。 安装flashtext 我们可以使用pip命令来安装flashtext: pip install flashtext 使用flashtext提取关键词 以下是一个使用flashtext提取关键词的示例: from flas…

    python 2023年5月14日
    00
  • python3启动web服务引发的一系列问题汇总

    以下是关于Python3启动Web服务引发的一系列问题汇总的完整攻略: 问题描述 在Python3中,启动Web服务时可能会遇到一系列问题,例如端口被占用、无法访问等。了解这些问题可以帮助我们更好地调试和解决问题。 解决方法 可以使用以下步骤解决Python3启动Web服务引发的问题: 确认端口是否被占用。 在启动Web服务之前,可以使用netstat命令或…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部