用python实现日志文件,并且按时间命名文件名方式

 更新时间:2023年08月16日 09:08:12   作者:边ing  
这篇文章主要介绍了用python实现日志文件,并且按时间命名文件名方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python实现日志文件,并且按时间命名文件名

话不多说,先上代码:

uuid_str = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()) 
tmp_file_name ='%s.txt' % uuid_str
with open(tmp_file_name,'a') as f:
    f.write("{}\n\n".format(str(time.strftime("%Y-%m-%d %H:%M:%S ",time.localtime())))) 
    for i in AAA:
        f.write("AAA: {}\n\n".format(i))
    f.write("土壤: {}\n\n".format(m))

下面开始分段讲解:

uuid_str = time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()) 
tmp_file_name ='%s.txt' % uuid_str

首先按照 %Y-%m-%d %H-%M-%S 这种规格设置文件名的日期格式,注意这里 %H-%M-%S ,千万不能写成 %H:%M:%S 这种形式,因为我就犯过这种错误,本来想着“时分秒”按照 %H:%M:%S 这种形式设置会更好,但是要记住一点,文件命名里面不能出现冒号,否则会出错。

然后再在日期名后面添加.txt后缀,当然你也可以换成.log,这个都是随便的。

with open(tmp_file_name,'a') as f:
    f.write("{}\n\n".format(str(time.strftime("%Y-%m-%d %H:%M:%S ",time.localtime())))) 

然后,将你所要记录的东西写到刚刚命名创建的文件里,首先打开那个文件,然后第一行记录时间,格式按照 %Y-%m-%d %H:%M:%S 这种形式,哈哈,可能有人会问,不是不能有冒号吗?

是的,但是只有在命名文件名时不能出现冒号,这里只是将当前时间记录在txt文件中,所以是可以的。

for i in AAA:
        f.write("AAA: {}\n\n".format(i))
f.write("土壤: {}\n\n".format(m))

最后这个其实就是根据需要而采用的不同的写入方式,

  • 第一种是for循环,适用于有很多元素的
  • 第二种就是单纯的f.write()写入,适用于写入单个元素

python按时间顺序批量重命名文件

下面这段Python脚本能我们把一个文件夹下的所有文件,按最后修改的时间顺序,批量加序号前缀进行重命名;

注释比较详尽,就不多费口舌了,上代码:

import os
# 按修改时间排序后,批量重命名文件,并加序号前缀
def renameFilesSortedByTime(dirPath):
    mlist = []
    # 获得文件名列表
    files = os.listdir(dirPath)
    # 获得名称带时间戳的新文件名列表
    for filename in files:
        # 获得文件的最后修改时间
        createTime = os.path.getmtime(dirPath + filename)
        # 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表
        mlist.append(str(int(createTime)) + "-" + filename)
    # 重新给列表排序,这次所有文件按修改时间排序了
    mlist = sorted(mlist)
    # 遍历修改时间戳为序号
    for i in range(len(mlist)):
        # 截取获得原先的文件名
        oldName = mlist[i][11:]
        # 将时间戳部分修改为序号,得到新的文件名
        newName = mlist[i][11:]
        if (i + 1) < 10:
            newName = "00" + str(i + 1) + newName
        elif (i + 1) > 9 and (i + 1) < 100:
            newName = "0" + str(i + 1) + newName
        else:
            newName = str(i + 1) + newName
        # print(newName, oldName)
        # 重命名文件,按修改时间排序并加序号前缀
        os.rename(dirPath + oldName, dirPath + newName)
if __name__ == '__main__':
    renameFilesSortedByTime("D:/MyOutputs/视频/Go语言从入门到精通1-基础篇/")
    print("Job Done!")

加上图形用户界面以后可以成为一个很实用的小工具,Python的开发速度的确不是盖的;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Python制作一个文件去重小工具

    基于Python制作一个文件去重小工具

    我们常常在下载网络素材时会下载很多的重复文件乱七八糟的,于是想实现一个去重的操作就显得很重要。本文将用Python制作一个简单的文件去重小工具,需要的可以参考一下
    2022-02-02
  • Python socket C/S结构的聊天室应用实现

    Python socket C/S结构的聊天室应用实现

    这篇文章主要介绍了Python socket C/S结构的聊天室应用实现,需要的朋友可以参考下
    2014-11-11
  • python进阶教程之循环相关函数range、enumerate、zip

    python进阶教程之循环相关函数range、enumerate、zip

    这篇文章主要介绍了python进阶教程之循环相关函数range、enumerate、zip,在使用循环程序经常要配合这些函数来完成循环,需要的朋友可以参考下
    2014-08-08
  • Python 字符串换行的多种方式

    Python 字符串换行的多种方式

    本文通过四种方法给大家介绍了Python 字符串换行的方式,在文中最下面通过代码给大家介绍了python代码过长的换行方法,需要的朋友可以参考下
    2018-09-09
  • python多进程实现文件下载传输功能

    python多进程实现文件下载传输功能

    这篇文章主要为大家详细介绍了python多进程实现文件下载传输功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • windows系统上通过whl文件安装triton模块的简单步骤

    windows系统上通过whl文件安装triton模块的简单步骤

    这篇文章主要介绍了在Windows系统中通过.whl文件安装Triton的步骤,包括确认系统环境、下载合适的.whl文件、使用pip安装、验证安装、使用Triton以及解决潜在问题,需要的朋友可以参考下
    2025-01-01
  • python属于软件吗

    python属于软件吗

    在本篇内容里小编给Python新手整理了关于python是软件吗的相关知识点,有兴趣的朋友们可以阅读下。
    2020-06-06
  • python中dict使用方法详解

    python中dict使用方法详解

    这篇文章主要介绍了python中dict使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python自省及反射原理实例详解

    Python自省及反射原理实例详解

    这篇文章主要介绍了Python自省及反射原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python中动态检测编码chardet的使用教程

    Python中动态检测编码chardet的使用教程

    最近利用python抓取一些网上的数据,遇到了编码的问题。非常头痛,幸运的是找到了解决的方法,下面这篇文章主要跟大家介绍了关于Python中动态检测编码chardet的使用方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07

最新评论