用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))最后这个其实就是根据需要而采用的不同的写入方式,
- 第一种是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的开发速度的确不是盖的;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
