Python 对文件进行CMD命令的批处理

获取多个模型文件,然后对每个文件进行 cmd 命令 的压缩,然后从新导出到新的目录中。
此代码只是临时使用,并不完善,一些代码和逻辑也不科学。本文的目的主要为了个人进行记录,方便后期黏贴使用,如有不近人意的地方请见谅。

import cmd, sys
from turtle import *
import os 
import shutil
import asyncio

# 想试试异步删除文件,但好像没成功。目前能用就没继续完善了。
async def del_dic(processed_path):
    # 查看是否有目录存在,有的话,先删除(包括里面的所有文件),然后再创建新的。
    isExists=os.path.exists(processed_path)
    if isExists:
        shutil.rmtree(processed_path)
    os.makedirs(processed_path) 

# 把glb模型文件进行 drc压缩处理
async def glb_to_drc(file_dir):   
    # 压缩后的文件需要存放的目录
    processed_path = file_dir + "/"+"Processed"

    # 获取这个路径下所有的文件和文件夹
    files = os.listdir(file_dir)
    
    task = asyncio.create_task(del_dic(processed_path))
    await task
    
    glb_length = 0
    for file_name in files:
        file_name_only, file_extension = os.path.splitext(file_name)
        if(file_extension == '.glb'):
            # 执行 CMD命令
            cmd = "gltf-pipeline -d -i %s -o %s"%((file_dir+'/'+file_name),(processed_path+'/'+file_name_only+'-processed'+file_extension))
          
            os.system(cmd)
            glb_length+=1
    print("%s glb 模型数量 %s "%(file_dir , glb_length)) 

async def files_pos():  
   await glb_to_drc('/Users/edwinlee/Downloads/xxxxxx')
   await glb_to_drc('/Users/edwinlee/Downloads/xxxxxx2')
   await glb_to_drc('/Users/edwinlee/Downloads/xxxxxx3')
   await glb_to_drc('/Users/edwinlee/Downloads/xxxxxx4')


asyncio.run(files_pos())

猜你喜欢

转载自blog.csdn.net/KiTok/article/details/122690206
今日推荐