【问题标题】:Why the code executes twice whenever first run after launching Maya?为什么在启动 Maya 后第一次运行时代码会执行两次?
【发布时间】:2019-12-04 11:33:55
【问题描述】:
import maya.cmds as cmds

def aaa():
    blah... blah...

aaa()

将此代码保存为 aaa.py 并将其放在正确的文件夹中并启动 Maya 并运行代码

import aaa
reload(aaa)

第一次运行时会执行两次。我怎样才能防止这种情况发生?

【问题讨论】:

    标签: python maya


    【解决方案1】:

    第一次运行时会执行两次。

    因为调用import aaa,会执行aaa中的所有代码,因此会调用aaa()函数。然后调用reload(aaa) 将重新导入aaa,因此它将再次运行其中的所有代码。

    我怎样才能防止这种情况发生?

    只需删除reload(aaa),我真的不明白你为什么一开始就有它,它很少需要。


    我也不明白为什么你的代码首先是这样组织的。你几乎肯定应该让它们像这样:

    import maya.cmds as cmds
    
    def aaa():
        blah... blah...
    

    from aaa import aaa
    
    aaa()
    

    【讨论】:

    • 因为没有reload(),它只会第一次执行代码。从第二次运行开始,你需要 reload(),对吧?
    • 不,你不明白。当然,如果您在模块中调用函数调用,您的代码将运行两次,首先是 import,然后是 reload
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    相关资源
    最近更新 更多