Я работал над своим сценарием Auto-Rig и замечал, что код очень долго читает и фокусируется на одной части. Я изучал импорт файла python и вызывал функции внутри импортированного файла python. Кажется, не может найти способ импортировать файл, если бы кто-то помог мне с этим.import python in pymel
ответ
Я рекомендую вам создать модуль питона с файлом Python, а затем сделать из MEL файла:
python "import my_python_module";
string $pycommand = "my_python_module.my_function(param1, "+ $mel_string_param1 +",\"" + $mel_string_param2 + "\")";
string $result= `python $pycommand`;
Написать функции, которые вы хотите включить в ваш модуль в виде файла питона. (подсказка: не начинайте свое имя файла python с цифр).
В моем примере myModule.py
содержит:
def myFunc1():
print 'myFunc1 is called'
pass
def myFunc2():
print 'myFunc2 is called'
return
Теперь сохраните файл в папке. Мой пример путь к файлу Питон:
d:\projects\python\myModule.py
Теперь в вашем майя редактор сессии сценария введите:
import sys
import os
modulePath = os.path.realpath(r'd:\projects\python\myModule.py')
moduleName = 'myModule'
if modulePath not in sys.path:
sys.path.append(modulePath)
try:
reload(moduleName)
except:
exec('import %s' % moduleName)
Ваш модуль должен быть импортированы.
Позовите myFunc1()
из myModule
:
myModule.myFunc1()
Это даст выход:
myFunc1 is called
Теперь мы называем myFunc2()
из myModule
:
myModule.myFunc2()
Это даст выход:
myFunc2 is called
Если теперь мы обновили myModule.py
с новой функцией:
def myFunc3():
print 'myFunc3 is called'
return
Нам нужно только запустить тот же код, указанный выше, чтобы перезагрузить обновленное модуль.
Теперь мы можем попробовать заявление:
myModule.myFunc3()
... и получить этот результат:
myFunc3 is called
- 1. import opencv in python
- 2. IOError: [Errno 22] PyMel/Python
- 3. _sha import in python hashlib
- 4. Ошибка использования aimConstraint Maya Python Pymel
- 5. Как импортировать ядро PyMEL?
- 6. import string/re/sys in python
- 7. import json to csv in python
- 8. python newbie: import numpy module in eclipse
- 9. Python: from module import * in __init__
- 10. import serial doesnot work in python
- 11. import pytz failing in eclipse - python
- 12. post import hooks in python 2.7
- 13. import java.util.Arrays in JDK8
- 14. import GsonFactory in maven
- 15. import dataset in neo4j
- 16. Import ResultEvent in Flash
- 17. Import Geopoints in Parse
- 18. import csv in mongodb
- 19. @import «фундамент»; error in foundation5
- 20. Python Wildcard Import Vs Named Import
- 21. Обновить или «Обновить» текстовое поле в Pymel/Python
- 22. import theano results in ImportError
- 23. Python Dropbox Import Fail
- 24. Python design - cross import
- 25. Python csv import failed
- 26. Python import no module
- 27. Python version/import confusion
- 28. import selenium to python
- 29. import python module failed
- 30. Python Unresolved Import Error
записи thefile.py, а затем в сценарии 'импорта thefile'. Используйте функции, вызывающие 'thefile.afunction()' – joaquin
, лучший способ - потратить несколько минут на чтение документации python о [наследованиях, частных переменных и локальных ссылках класса] [1], что является фундаментальным для понимания того, что «объект» в любом oop должен иметь данные и поведение, [1]: https://docs.python.org/2/tutorial/classes.html –