前言背景:
早上九点某分工作时间中,我准备新建今天的工作文件,并且按照今天的日期来命名(23-xx-xx),这一个随手的操作我每个工作日都在做,但我最近开始对学习代码有些兴趣,想着这个随手的动作虽然不麻烦 ,但是确确实实的要自己操作。就想着能否用学习的python做一个实例解决这个问题,目标需求:1.在每日文件夹内新建一个当前日期的文件。2.在共享盘中的当前月份个人名字下新建当前日期的文件。为了解决这两个问题我开始着手查资料(抄代码)。
最开始的查询方向主要是python的代码,但是途中发现了另一个实践方式就一并放上,python部分我们后面再谈。现在来说我发现的另一个方式:
DOS命令:
DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。大家常用的操作系统Windows都有保留有这一操作方式。
实现方式一(DOS命令):
具体代码如下:
主要段落:
echo on:打开窗口方便查看错误
%date%:表示当前时间,在CMD中运行date/t 就会出现 2023/04/04 周二
%date:~8,2%:这样则表示获取当前时间(2023/04/04 周二)的第八个字符后的两个字符(04)
set folder:在上述列出了日、月、年、分、时。接着按照需求拼装文件名即可图中为“年-月-日”
md:创建目录,目录的名字就是按照folder获取的变量命名的。
具体的cmd常用命令请参考这篇文章:Windows批处理(cmd/bat)常用命令小结_bat命令_哪 吒的博客-CSDN博客
最终保存修改后缀为.bat 就可以获得一个在当前文件夹新建一个以当前日期命名的文件夹,之后搭配上Windows自带的任务计划程序就可以实现在工作日的固定每天早上新建日期文件。PS:在设置的时候需要点上超时即可开始运行,这样就算偶尔迟到开机也会即可执行任务计划程序。具体配置如下图。
实现方式二(python命令):
具体代码如下:
import os
import time
#创建名字
my_name = "name"
#获取时间月份
now = time.localtime()
time_yy = time.strftime( '%y',now)
time_mm = time.strftime( '%m',now)
time_dd = time.strftime( '%d',now)
#获取工作文件路径基础大路径
path = 'Z:\\工作总结\\2023'
#细分小路径
path3 = path + '\\' + time_mm + "月" + '\\' + my_name + '\\' + time_yy + '-' + time_mm + '-' + time_dd
#条件如果路径不存在则创立路径
if os.path.exists(path3) == False :
os.makedirs(path3) #创立路径
else:
pass
主要段落:
time.localtime(): 转换为当地时间(指向now)
time.strftime([],t):转换一个元祖,t则可以修改为第一步的当地时间(now)
%y %m %d:是strftime()下的各种指令,分别代表了年月日,具体的请参考下方的官方的time函数说明
在用python的时候,突然希望他不仅创建每日文件,而是每月的文件一起创建。所以,我会让他先检查路径,如果不存在路径不存在则创建路径。这样就可以在大路径下实现创建每月文件夹再到月份内创建每日文件夹,并且每个月的月份文件夹也可以自动创立,如果一步到位也可以把路径中的年份都改成当前年(time_yy)。
PS:这部分代码是在社区有个人说,直接检测路径在创立就好了。从而想到的方式。
此处的代码函数time主要查询了官方的time函数说明:time --- 时间的访问和转换 — Python 3.11.2 文档