python工具程序

这是最近工作中为了节省时间做的一点工具程序

利用labelme标记图片,生成的json文件及对应图片移动到新的文件夹下(不仅移动json文件也移动对应的图片到新的文件夹下)

import os,shutil

path=input("输入文件路径:\n")
path=path.replace('\\','/')
path=os.path.join(path+'/')
dist_file=input("输入目标文件路径:\n")
dist_file=dist_file.replace('\\','/')
dist_file=os.path.join(dist_file+'/')
if(os.path.exists(path)):
    names=os.listdir(path)
del_name=[]
for i in range(len(names)):
    del_name.append(names[i].split(".")[0])
for n in del_name:
    if(del_name.count(n)>=2):
        filename=os.path.join(path,n+'.bmp')
        jsonname=os.path.join(path,n+'.json')
        newfile=os.path.join(dist_file,n+'.bmp')
        newjson=os.path.join(dist_file,n+'.json')
        del_name.remove(n)
        shutil.move(filename,newfile)
        shutil.move(jsonname,newjson)
        print("已移动标注文件{}!".format(n))
print("标记文件及对应图片移动成功!")
try:
    input("Press any key  to end")
except SyntaxError:
    pass

在这里插入图片描述
这个是用来删除两个文件夹下重复的文件(假设有两个文件夹A,B A为参考文件夹,B为待删除文件夹,作用是删除B文件夹中与A文件夹中文件名相同的文件)

import os

path=input("请输入参考同名文件夹路径:\n")
path=path.replace("\\","/")
path=os.path.join(path+"/")
dist=input("请输入待删除文件夹路径:\n")
dist=dist.replace("\\","/")
dist=os.path.join(dist+"/")
if(os.path.exists(path)):
    names=os.listdir(path)
else:
    print("输入参考路径不存在,请检查路径!")

if(os.path.exists(dist)):
    names1=os.listdir(dist)
else:
    print("输入删除路径不存在,请检查路径!")

del_list=[n for n in names if n in names1]
for n in del_list:
    filename=os.path.join(dist,n)
    os.remove(filename)
    print("目标文件夹重复文件{}已删除!".format(n))
print("目标文件夹重复文件已删除成功!")
print("重复文件个数: {}".format(len(del_list)))
try:
    input("Press any key  to end")
except SyntaxError:
    pass

在这里插入图片描述
其实写完代码后,你可以利用pyinstaller 生成对应的.exe文件,并且可移动到别的电脑上使用

利用下面命令下载包及生成.exe文件
(需要在对应的.py文件目录下)

pip install pyinstaller -i https://pypi.douban.com/simple/
pyinstaller -F xxxx.py

最后会生成两个文件夹,及对应的.spec,两个文件夹分别为build,dist,dist下面是可执行文件,build是对应的环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值