python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python日志文件按时间命名文件名方式

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

作者:边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))

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

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的开发速度的确不是盖的;

总结

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

您可能感兴趣的文章:
阅读全文