python - 将文件名更改为修改日期

标签 python filenames

我有以下问题,我编写了一段代码来重命名目录及其子目录中的文件名。现在,我不想将其更改为当前日期,而是希望将其更改为文件修改日期

我怎样才能做到这一点?

import os, path
from datetime import datetime
import time

def walk_dir(path):
    current_day = datetime.now().strftime("%Y-%m-%d")
    for root, dirs, files in os.walk(path):    
        for filename in files:
            current = root + "/" + filename
            if os.path.isfile(current):
                print "ORIGINAL NAME: " + current
                ext = os.path.splitext(filename)[1]
                target_name = os.path.join(root, '{}{}'.format(current_day, ext))
                print "NEW NAME: " + target_name
                os.rename(current, target_name)

walk_dir("/Users/shirin/Desktop/Artez")

最佳答案

import os
import datetime

for filename in directory:
    modified_time = os.path.getmtime(filename)   # get file modification timestamp
    modified_date = datetime.date.fromtimestamp(modified_time)  # convert timestamp to a date
    os.rename(filename, modified_date.strftime("%Y-%m-%d"))

注意这很危险,因为您可能会覆盖共享相同修改日期的文件。

关于python - 将文件名更改为修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868427/

相关文章:

Python Sendgrid 发送带有所有扩展名文件附件的电子邮件 django

regex - 如何找到以 ".html"结尾但文件名中没有 ".bin"的文件?

handler - PDF 处理程序 : content-disposition filename

python - 使用 "src"布局在 Python 项目中使用 PyTest

javascript - 强制重新加载客户端网页 Django

asp.net - ASP.NET:获取页面的文件名

android - Base64特殊字符新建文件

php - 带有特殊字符的文件名,如 "é"NOT FOUND

python - 将ip转换为二进制

python - 如何构建计算密集型网络服务?