Mayaで書かれた外部ソフトウェアからスクリプトをMayaに送信する必要があります。私は小さな例でこれを実行しようとしました:私はこの、「こんにちは世界」を実行するときexecfileで送信するとPythonスクリプトがAutodesk Mayaで2回実行される
print 'hello world'
Hovewerを、Mayaで二回出力されます。hello_world.pyで
import socket
import time
from os.path import abspath
ADDR=('127.0.0.1',666)
def execute_file(fileFullPath):
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADDR)
command = "execfile('%s')" % (fileFullPath)
client.send(command)
data = client.recv(1024)
print data
client.close()
time.sleep(.1)
return data
if __name__ == '__main__':
py_file = 'hello_world.py'
py_file = abspath(py_file)
execute_file(py_file)
は私が持っています。
私が試したもう一つは、次のとおりです。
if __name__ == '__main__':
print 'hello world'
しかし、それがすべてで実行されません。
は最後に、私はまた、この方法でプリントを入れて、このようにそれを呼び出すことで試してみました:
command = "execfile('%s')" % (fileFullPath)
client.send(command)
data = client.recv(1024)
client.send("exec('start()')")
をしかし、私は名「スタート」を取得定義されていないエラー
誰かがなぜこれが起こるか知っていますか、あるいは私がこれを避ける方法について少なくとも考えを持っていますか?
ご協力いただきありがとうございます。
あなたの答えをありがとう。それは素晴らしいようです。今私はインフルエンザに罹っていますが、すぐに私はもっと見ることができ、あなたが提案するものが私のために働くかどうかを見ます。とにかく、私はあなたに(+共同体)知らせるでしょう。 – DarkPurpleShadow