首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python将脚本复制到脚本中

python将脚本复制到脚本中
EN

Stack Overflow用户
提问于 2015-09-15 05:36:18
回答 1查看 473关注 0票数 0

第1部分:复制脚本

我的计算机上有我想要继续开发的脚本。这些脚本作为maya文件中的嵌入脚本工作,以便打开文件的用户在打开该文件时将获得该工具。我想内置一个更新函数,这样当我打开文件时,文件中的版本将与我的本地版本进行比较,如果我的本地版本是更高的版本号,它将更新到我的脚本。我知道如何替换maya中的字符串值,但我不确定如何从现有的python文件中复制字符串值。

如何将脚本中的文本复制到字符串值?(最好包含/n和缩进,在此期间)

代码语言:javascript
复制
version = 3.1
Try:
    import ToolBox
    if ToolBox.version > version:
        #do copy stuff

第2部分:多个脚本文件

我的脚本使用了几个独立的文件(以下是简化的概念)

代码语言:javascript
复制
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

我可以将它们导入到我的脚本中的一个类中,并像现在一样使用它们吗?如果没有,我能做什么?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2015-09-15 09:13:24

我认为你应该重新考虑你提出的方法。零散地分发东西是自找麻烦的:如果你的用户根据你的机器上正在发生的事情以及他们做事情的顺序得到不同的代码,你可能会在不同的机器上得到很多很多不同的状态,这样每个用户就可以得到他们自己独特的一组bug。您希望分发工具并作为一个单元下载工具,这样用户就可以一次获得一套完整的工具,而不是一次下载一个。

最简单的方法是为用户提供一个指向网络共享的环境变量。您的userSetup.py可以在用户启动时使用它将整个共享的内容复制给用户;这样用户就可以获得所有内容的相同版本。在此过程中,您需要小心删除任何现有的.pyc文件,因为剩余的pycs可能会欺骗python使用错误的代码。

另一个要考虑的选项是使用Maya模块文件。一旦你给每个用户一个指向你的网络共享的模块文件,每个人都可以直接离开网络共享工作。它不能很好地扩展到数以百计的用户,但对于十几个用户来说,它工作得很好:请参阅http://techartsurvival.blogspot.com/2014/01/mayas-mildy-magical-modules.html

如果你想了解一些涉及到的问题,请尝试:

  • http://tech-artists.org/forum/showthread.php?3271-Distribution-techniques-for-external-Python-tools&highlight=distribution
  • http://tech-artists.org/forum/showthread.php?3187-Wrapping-DCC-Tools-to-start-them-in-different-quot-environments-quot&highlight=distribution
  • http://techartsurvival.blogspot.com/2014/06/save-environment.html?q=environment
  • http://techartsurvival.blogspot.com/2014/07/save-environment-2-i-am-egg-man.html?q=environment
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32574334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档