用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实现引用其他路径包里面的模块,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python文件及目录操作实例详解

    Python文件及目录操作实例详解

    这篇文章主要介绍了Python文件及目录操作的方法,实例分析了Python中os模块的使用技巧,需要的朋友可以参考下
    2015-06-06
  • Python中的一些陷阱与技巧小结

    Python中的一些陷阱与技巧小结

    这篇文章主要介绍了Python中的一些陷阱与技巧小结,包括生成器等高级用法,和Python2.x与3版本换代带来的兼容性问题等,需要的朋友可以参考下
    2015-07-07
  • Python实现判断一个整数是否为回文数算法示例

    Python实现判断一个整数是否为回文数算法示例

    这篇文章主要介绍了Python实现判断一个整数是否为回文数算法,结合实例形式分析了Python针对字符串的翻转、判断等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Python二进制文件读取并转换为浮点数详解

    Python二进制文件读取并转换为浮点数详解

    这篇文章主要介绍了Python二进制文件读取并转换为浮点数详解,用python读取二进制文件,这里主要用到struct包,而这个包里面的方法主要是unpack、pack、calcsize。,需要的朋友可以参考下
    2019-06-06
  • 如何利用Fabric自动化你的任务

    如何利用Fabric自动化你的任务

    大家都知道Fabric是一个Python库,可以通过SSH在多个host上批量执行任务。你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行。这些功能非常适合应用的自动化部署,或者执行系统管理任务。本文将介绍如何利用Fabric自动化你的任务。
    2016-10-10
  • Python通过Tesseract库实现文字识别

    Python通过Tesseract库实现文字识别

    这篇文章主要介绍了Python通过Tesseract库实现文字识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Pytorch实现全连接层的操作

    Pytorch实现全连接层的操作

    这篇文章主要介绍了pytorch实现简单全连接层的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Python基于回溯法子集树模板解决取物搭配问题实例

    Python基于回溯法子集树模板解决取物搭配问题实例

    这篇文章主要介绍了Python基于回溯法子集树模板解决取物搭配问题,简单描述了搭配问题并结合实例形式分析了Python使用回溯法子集树模板解决取物搭配问题的具体步骤与相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Python转换字典成为对象,可以用

    Python转换字典成为对象,可以用"."方式访问对象属性实例

    这篇文章主要介绍了Python转换字典成为对象,可以用"."方式访问对象属性实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05

最新评论