首页 > 编程语言 >python修改文件创建时间、修改时间

python修改文件创建时间、修改时间

时间:2023-11-06 10:23:00浏览次数:42  
标签:file 文件创建 create python 修改 str time import path

import os
import time

import pywintypes
from win32con import FILE_FLAG_BACKUP_SEMANTICS
from win32con import FILE_SHARE_WRITE
from win32file import CloseHandle
from win32file import CreateFile
from win32file import GENERIC_WRITE
from win32file import OPEN_EXISTING
from win32file import SetFileTime


def modify_file_create_time(path, create_time_str, update_time_str, access_time_str):
    """定义文件或文件夹的创建、修改、访问时间"""
    path = os.path.abspath(path)
    if os.path.exists(path):
        try:
            format_str = "%Y-%m-%d %H:%M:%S"  # 时间格式
            file_handle = CreateFile(path, GENERIC_WRITE, FILE_SHARE_WRITE, None, OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS, 0)
            create_time= update_time= access_time = None 
            if create_time_str : 
                create_time = pywintypes.Time(time.mktime(time.strptime(create_time_str, format_str)))
            if update_time_str : 
                update_time = pywintypes.Time(time.mktime(time.strptime(update_time_str, format_str)))
            if access_time_str : 
                access_time = pywintypes.Time(time.mktime(time.strptime(access_time_str, format_str)))
            # 修改文件的创建时间
            SetFileTime(file_handle, create_time, update_time, access_time)
            # 关闭文件句柄
            CloseHandle(file_handle)
            print('成功:({})/({})/({})'.format(create_time_str, update_time_str, access_time_str))
        except Exception as e:
            print('失败:{}'.format(e))
    else:
        print('路径不存在:{}'.format(path)) 


if __name__ == '__main__':
    cTime = "2023-10-01 12:00:00"  # 创建时间
    mTime = "2023-10-01 12:00:00"  # 修改时间
    aTime = "2023-10-01 12:00:00"  # 访问时间
    #folder = r"d:/backup/db"  # 可以是文件也可以是文件夹
    file = r"d:/backup/db/backup_20231002.sql"  # 可以是文件也可以是文件夹
    #modify_file_create_time(folder, cTime, mTime, aTime)
    modify_file_create_time(file, cTime, None, None)

 

标签:file,文件创建,create,python,修改,str,time,import,path
From: https://www.cnblogs.com/gzhq/p/17811937.html

相关文章

  • Python 安装的步骤
    windows电脑安装python1版本选择2.x版本将慢慢退出历史的舞台,建议你从3.x开始学习,本教程所使用的python版本是3.62下载安装包进入官网下载页面 https://www.python.org/downloads/windows/找到合适的安装包本教程所提供的示例代码适用于3.0以上的版本,如果你喜欢更高的版......
  • python print 打印彩色字体
    全局说明演示了如何使用ANSI转义序列打印不同颜色的字体一、颜色说明\033[:开始颜色设置。1:字体加粗。32:文字颜色,绿色。41:背景颜色,红色。m:结束颜色设置。\033[0m:重置所有终端属性,包括颜色。二、输出示例#打印红色字体print("\033[1;31;40m这是红色的字体\033......
  • Python模块之 traceback
    模块作用简介:使用Python中traceback模块来进行处理可以直观异常信息必要操作:>>>importtraceback安装:python内置函数,无需安装导入包:>>>importtraceback帮助查看:>>>help(traceback)方法(函数):>>>参数返回值返回True,否则返回False。......
  • Python模块之 pandas
    模块作用简介:1、PythonDataAnalysisLibrary或pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会......
  • python中参数传递是值传递还是引用传递
    一,值传递和引用传递的区别是什么 值传递和引用传递在内存空间上的主要区别在于参数的存储方式。值传递(Passbyvalue)在函数调用时,会创建一个新的内存空间来存储传递的参数值。也就是说,在函数内部对参数的任何修改都仅限于这个新的内存空间,不会影响到原始参数的内存空间。当函......
  • QT删除python中的单行注释
    python中的#号可能存在于字符串中:print("'asd#f'00#0",'#1“23') #这里才开始注释没想到用什么正则来删除python中的单行注释所以解决方案为:QStringremoveLineComment(QStringsLine){qDebug()<<"removeLineComment:"<<sLine;QStringsRes......
  • 206-java修改图片文件的元属性值TIFF_TAG_SOFTWARE等
    base64的图片转为文件//base64的图片转为文件Stringbase64String=obj.getString("base64");byte[]imageBytes=java.util.Base64.getDecoder().decode(base64String);FileoutputFile=null;FiletmpPathDir=newFile(tmpPath);tmpPathDir.mkdirs();StringfileP......
  • python语法糖之map函数
    一,map函数是干什么的 map()函数是Python中的一个内置函数,它接收一个函数和一个或多个可迭代对象作为输入,然后返回一个由输入可迭代对象的每个元素或子序列组成的迭代器。简单来说,map()函数用于将一个函数应用于可迭代对象的每个元素或子序列,并返回包含结果的迭代器。例如,如果......
  • 如何按字典中的值对Python中的字典列表进行排序?
    内容来自DOChttps://q.houxu6.top/?s=如何按字典中的值对Python中的字典列表进行排序?如何按特定键的值对字典列表进行排序?给定:[{'name':'Homer','age':39},{'name':'Bart','age':10}]当按name排序时,它应该变成:[{'name':'Bart�......
  • 统信UOS桌面操作系统1060上修改启动器中软件名称
    原文链接:统信UOS桌面操作系统1060上修改启动器中软件名称hello,大家好啊,今天给大家带来一篇在统信桌面操作系统1060上修改启动器中软件名称的文章,这样我们就可以将经常使用的软件修改个个性化的名称显示,欢迎大家浏览分享。关注我吧!1、安装Krfb软件,为Krfb软件修改名称2、查看系统信息......