Есть много способов сохранить данные извне.Вероятно, одним из самых простых способов является использование модуля json
:
import os
import json
path = "PATH/TO/YOUR/FILE/data.json"
def save_data(frame_range):
with open(path, "w") as f:
f.write(json.dumps(frame_range))
def load_data():
if os.path.exists(path):
with open(path, "r") as f:
return json.loads(f.read())
save_data([1, 100])
stored_range = load_data()
print stored_range
# Output: [1, 100]
В этом случае он создает дамп list
, но поддерживает гораздо больше (словари, вложенные структуры данных)
Другой альтернативой является сохранение данных с помощью модуля pickle
:
import pickle
path = "PATH/TO/YOUR/FILE/data.p"
def save_data(frame_range):
with open(path, "w") as f:
f.write(pickle.dumps(frame_range))
save_data([1, 100])
Вы также можете использовать cpickle
для экспорта в двоичном формате.
В самой Maya вы можете сохранять настройкинепосредственно к предпочтениям пользователя:
cmds.optionVar(iv=("frameStart", 1))
cmds.optionVar(iv=("frameEnd", 100))
Вы также можете просто сохранить строку json
непосредственно в cmds.optionVar
для более сложных структур данных.