使用Python脚本修改Maya ASCII文件路径方法

news2024/11/25 4:50:20

以下脚本修改当前项目路径和子文件夹中扩展名为“.ma”的所有文件,这样您就可以轻松地一次编辑所有文件。此脚本搜索特定字符串replace_This变量并将其替换为with_This,您可以使用它更改引用路径、纹理路径等…

话不多说直接上脚本:

import maya.cmds as cmds
import re
import glob, os
 
# – Define our search and replace
replace_this ='string you want to replace'
with_this = ""
# - Get your Project path
projectPath=cmds.workspace(q=True, rd=True)
scenesPath= projectPath+"scenes/"
# – Use a regex to do the substitution as that is very quick
regex = re.compile(replace_this)
os.chdir(scenesPath)
for root, dirs, files in os.walk(scenesPath):
    for file in files:
        if file.endswith(".ma"):
             print(root+'/'+file)
             filepath = root+'/'+file
             with open(filepath, "r") as read_stream:
                lines=read_stream.read()
                with open(filepath, "w") as write_stream:
                    write_stream.write(regex.sub(with_this, lines))
print "工作完成..."

附:在 Maya 中输入 Python 命令方法

有几种方法可以在 Maya 中输入 Python。

1.脚本编辑器(Script Editor)
为了便于在 Maya 中同时使用 MEL 和 Python 脚本,“脚本编辑器”(Script editor)已修改为每种语言具有单独的选项卡。输入到 MEL 选项卡窗口中的语句将发送到 MEL 进行处理;同样,输入到 Python 选项卡窗口中的语句将由 Python 处理。

从 Python 返回的结果会带有 Python 注释字符 (#) 前缀。

您可以直接在选项卡中输入命令,也可以将加载现有 .py 文件到选项卡中。

注:
在脚本编辑器中,可借助自动完成来更快地查找命令名。

2.命令行和“工具架”(Shelf)
也可在命令行输入简短的 Python 命令。通过切换可选择输入 MEL 命令或 Python 命令。

 
与 MEL 脚本类似,也可使用鼠标中键 () 将 Python 脚本拖动到“工具架”(Shelf)。此时将出现一个对话框,询问脚本是 Python 脚本还是 MEL 脚本。

 

*如有帮助别忘记点个赞!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb-JavaScropt入门(二)

目录函数语法传参函数表达式作用域对象使用 字面量 创建对象 [常用]使用 new Object 创建对象使用 构造函数 创建对象函数 语法 function 函数名(形参列表) {函数体return 返回值; }那么有了创建函数,肯定有调用函数: // 函数调用 函数名(实参列表) …

聊一聊,我对DDD的关键理解

作者:闵大为 阿里业务平台解决方案团队 当我们在学习DDD的过程中,感觉学而不得的时候,可能会问:我们还要学么?这的确引人深思。本文基于工作经验,尝试谈谈对DDD的一些理解。 一、序 《阿甘正传》中&#xf…

亚马逊要求UL94防火测试阻燃测试标准及项目

UL94认证是什么?分几个等级?是如何表示各等级?带电的产品上架亚马逊都需要相关的UL报告,需要有ISO 17025资质的实验室出具的测试报告才能正常销售和恢复链接,UL94防火测试则是其中一项。UL94试验共有五种:1.B级的水平燃烧试验2.…

Nginx负载均衡

1、概念 访问量太大,一个 Tomcat 扛不住,所以就搭建 Tomcat 集群。让集群中的多个 Tomcat 服务器实例分担负载。 纵向扩容和横向扩容: 纵向扩容:给单台服务器提升硬件的配置。例如:提升 CPU、增加内存、扩大带宽、扩…

关于华为网络设备操作系统的介绍

1、什么是VRP VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。 功能:实现统一的用户界面和管理界面、实现控制平面功能,并定义转发平面接口规范、实现…

量子比特大突破!原子薄材料成为“救世主”

(图片来源:网络)量子计算是一项极其复杂的技术,现阶段的一些挑战正严重阻碍着它的发展,尤其是量子比特的小型化和质量问题。IBM计划在2023年实现具有1121个超导量子比特的处理器。以目前的技术手段,要达到这…

大数据框架之Hadoop:入门(二)从Hadoop框架讨论大数据生态

第2章 从Hadoop框架讨论大数据生态 2.1 Hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上来说,Hadoop通常是指一个更广泛的概念-Hadoop生态圈。 2.2 Hadoop发展历史 1&…

引入汇丰完成C+轮融资,镁信健康有何资本“魅力”?

近日,上海镁信健康科技股份有限公司(下称“镁信健康”)宣布完成C轮融资,引入汇丰集团作为战略投资者。镁信健康近两年是资本市场货真价实的“香饽饽”,2021年,完成B轮和C轮两轮融资,融资金额合计…

基于merlin使用chatGPT进行对话

最近chatGPT很热,大家都想试用它。但由于各种限制,一般情况下国内不能试用。 下面给大家介绍基于merlin使用chatGPT(目前每天只有11次问答次数)。 1 打开merlin页面 访问地址merlin.foyer.work,点击“add to chro…

深入Kafka核心设计与实践原理读书笔记第二章

1 生产者 生产逻辑 配置生产者客户端参数及创建相应的生产者实例。构建待发送的消息。发送消息关闭实列 参数说明 bootstrap.servers :用来指定生产者客户端链接Kafka集群搜需要的broker地址清单,具体格式 host1:port1,host2:port2,可以设置一个或多…

Sentinel-线程隔离和熔断降级

一、线程隔离 ​​​​ 总结 线程隔离的两种手段是? 信号量隔离线程池隔离信号量隔离的特点是? 基于计数器模式,简单,开销小线程池隔离的特点是? 基于线程池模式,有额外开销,但隔离控制更强 二…

为什么在容器中 1 号进程挂不上 arthas?

作者:卜比 本文是《容器中的 Java》系列文章之 4/n ,欢迎关注后续连载 😃 。 系列1:JVM 如何获取当前容器的资源限制? 系列2:Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题 系列3:让…

FPGA纯verilog代码实现图像对数变换,提供工程源码和技术支持

目录1、图像对数变换理论2、log系数的matlab生成3、FPGA实现图像对数变换4、vivado与matlab联合仿真5、vivado工程介绍6、上板调试验证并演示7、福利:工程代码的获取1、图像对数变换理论 对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细…

解决报错: ERR! code 128npm ERR! An unknown git error occurred

在github下载的项目运行时,进行npm install安装依赖时,出现如下错误:npm ERR! code 128npm ERR! An unknown git error occurrednpm ERR! command git --no-replace-objects ls-remote ssh://gitgithub.com/nhn/raphael.gitnpm ERR! gitgithu…

展锐UDX710:ProSLIC SI32185移植适配(未完待续)

一、SLIC基本流程图 在展锐UDX710平台上新增slic 驱动,可将应用代码置于source/unisoc/atrouter2.0下面,Si32185驱动代码放置于kernel,通过IOCTL对slic器件进行控制。整体流程如下图所示: 二、ProSLIC SI32185驱动调试 1. DTS 控制通路SPI0需增加一个spidev用于绑定对…

SpringCloud学习笔记03

目录 四十七、Hystrix是什么 四十八、Hystrix停更进维 四十九、Hystrix的服务降级熔断限流概念初讲 五十、Hystrix支付微服务构建 五十一、JMeter高并发压测后卡顿 五十二、订单微服务调用支付服务出现卡顿 五十三、降级容错解决的维度要求 五十四、Hystrix之服务降级支…

ReentrantReadWriteLock、StampedLock

ReentrantLock、ReentrantReadWriteLock、StampedLock 读写锁 一个资源可以被多个读线程访问,或者被一个写线程访问,但是不能同时存在读写线程。 小口诀:读写互斥,读读共享 锁的演变 无锁-----> 独占锁----->读写锁---…

为什么各个企业都在创建FAQ、常见问题页面?

常见问题解答页面是您可能已经为您的公司考虑过的东西,作为帮助客户回答有关您的产品和服务的常见问题的一种方式。但是您不知道最好的方法;肯定这只是一个问题清单吗?常见问题解答在整个购买过程中为客户提供支持,并减少客户需要与贵公司的联…

服务异步通信 RabbitMQ-高级篇

服务异步通信RabbitMQ-高级篇服务异步通信RabbitMQ-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化1.3.消费者消息确认1.3.1.演示none模式1.3.2.演示aut…

Spring Data JPA和MyBatisPlus比较以及SpringBoot整合

文章目录一.基本概念二.SpringBoot JPA整合hibernate -yml配置三.SpringBoot整合MyBatisPlus一.基本概念 Spring Data JPA作用:面向对象的ORM全自动化框架,简化持久化操作的开发工作:让开发者从繁琐的JDBC和SQL代码中解脱出来,直接面向对象持久化操作.特点:跨数据库…