一、缘由
由于某些原因,公司的程序只能手动发版,开发本地打包好后通过钉钉发送给运维。但是钉钉接收到名字一样的文件后,会自动重命名,加上括号和数字,比如apollo-1.0.RELEASE(2).jar,这样你就需要手动处理掉后面的括号和数字。
手动太麻烦,索性就用python来实现自动重名,并将python代码打包成exe程序,后将exe程序固定在任务栏。这样鼠标点一下任务栏图标,就可以实现一键重命名阿里云接收到的文件,Nice。
二、代码实现
import os
import re
download_dir = 'C:\\Users\\Thinkpad\\Downloads'
file_dic = {}
# 重命名最新的一个文件,去掉文件名的括号和数字
# apollo-1.0.RELEASE(2).jar --> apollo-1.0.RELEASE.jar
# downloads文件夹就一个文件怎么处理。文件夹为空,就先就报错吧。
# 如果有downloads下有文件夹,也会报错,需要调用os.rmdir()来处理。
def delete_other_files():
files = os.listdir(download_dir)
for file in files:
mtime = os.stat(os.path.join(download_dir, file)).st_mtime
file_dic[mtime] = file
time_list = list(file_dic.keys())
max_time = max(time_list)
if len(file_dic) > 1:
time_list.remove(max_time)
for time in time_list:
os.remove(os.path.join(download_dir, file_dic[time]))
return file_dic[max_time]
# 如果只有一个正常的文件,不做替换,
def rename_file(file):
new_name = re.sub(r'\(\d+\)', '', file)
os.chdir(download_dir)
os.rename(file, new_name)
if __name__ == '__main__':
file_name = delete_other_files()
# file_name = 'dist.zip'
rename_file(file_name)
三、将Python代码打包成exe文件
这里使用pyinstaller模块,具体命令为:
pyinstaller -F -c main.py
将Python打包成exe文件的具体介绍见另一篇文章:Python制作Exce报表并打包
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lxwno.1@163.com