第1部分:复制脚本
我的计算机上有我想要继续开发的脚本。这些脚本作为maya文件中的嵌入脚本工作,以便打开文件的用户在打开该文件时将获得该工具。我想内置一个更新函数,这样当我打开文件时,文件中的版本将与我的本地版本进行比较,如果我的本地版本是更高的版本号,它将更新到我的脚本。我知道如何替换maya中的字符串值,但我不确定如何从现有的python文件中复制字符串值。
如何将脚本中的文本复制到字符串值?(最好包含/n和缩进,在此期间)
version = 3.1
Try:
import ToolBox
if ToolBox.version > version:
#do copy stuff第2部分:多个脚本文件
我的脚本使用了几个独立的文件(以下是简化的概念)
file Hammer
class Type():
#force stuff
def strike():
#strike stuff
file Nail
Class Type():
#Type stuff
def bindTogether():
#bind stuff
file Wood
#wood stuff..
file ToolBox
Import Hammer
Import Nail
Import Wood
def buildBox():
#buildBox stuff using hammer, nail and wood我可以将它们导入到我的脚本中的一个类中,并像现在一样使用它们吗?如果没有,我能做什么?
File Toolbox
Class Hammer:
class Type():
#force stuff
def strike():
#strike stuff
Class Nail:
Class Type():
#Type stuff
def bindTogether():
#bind stuff
Class Wood:
#wood stuff
def buildBox():
#buildBox stuff using hammer, nail and wood发布于 2015-09-15 09:13:24
我认为你应该重新考虑你提出的方法。零散地分发东西是自找麻烦的:如果你的用户根据你的机器上正在发生的事情以及他们做事情的顺序得到不同的代码,你可能会在不同的机器上得到很多很多不同的状态,这样每个用户就可以得到他们自己独特的一组bug。您希望分发工具并作为一个单元下载工具,这样用户就可以一次获得一套完整的工具,而不是一次下载一个。
最简单的方法是为用户提供一个指向网络共享的环境变量。您的userSetup.py可以在用户启动时使用它将整个共享的内容复制给用户;这样用户就可以获得所有内容的相同版本。在此过程中,您需要小心删除任何现有的.pyc文件,因为剩余的pycs可能会欺骗python使用错误的代码。
另一个要考虑的选项是使用Maya模块文件。一旦你给每个用户一个指向你的网络共享的模块文件,每个人都可以直接离开网络共享工作。它不能很好地扩展到数以百计的用户,但对于十几个用户来说,它工作得很好:请参阅http://techartsurvival.blogspot.com/2014/01/mayas-mildy-magical-modules.html
如果你想了解一些涉及到的问题,请尝试:
https://stackoverflow.com/questions/32574334
复制相似问题