Cela peut être évident pour ceux qui créent des outils avec python, C'est une excellente opportunité, alors j'aimerais laisser quelque chose ensemble ٩ (๑ • ̀ω • ́๑) ۶
○ csv c'est bien, mais les concepteurs veulent aussi lire et utiliser Excel ~ ○ Je souhaite obtenir le nombre d'images de la liste de mouvements Excel ~ ○ Je souhaite que vous mettiez à jour l'état de la feuille de calcul Google sans autorisation après la sortie et le téléchargement ~
Je souhaite me référer et mettre à jour des données externes telles que ...! !! !! !! !! !! !!
Il existe de nombreux modules externes tiers en python. Vous pouvez facilement faire des choses que Mel ne peut pas faire.
import csv
import os
En python, vous pouvez appeler divers modules en insérant d'abord l'importation. Comme csv et os sont des modules originaux, il n'est pas nécessaire de les supprimer séparément.
Maya est une série Python2, alors faites attention de laisser tomber le module correspondant!
Cette fois, je vais mettre les modules directement dans le dossier script de maya, Dans le cas de la gestion d'équipe, il est préférable de gérer dans un répertoire séparé, donc Pour plus de détails, voir ici! http://www.comtec.daikin.co.jp/DC/UsersNotes/Ritaro/tutorial/maya_04/ http://tm8r.hateblo.jp/entry/2016/10/18/222755
Je l'ai mis directement dans le dossier scripts comme celui-ci.
Cet environnement ○ Windows 7 ○ Maya 2016 ○ (○. ○. ○) de chaque module est la version utilisée cette fois!
Je pense qu'il vaut mieux installer en utilisant pip Comment utiliser pip http://www.python-izm.com/contents/basis/pip.shtml Cette fois, j'ai simplement déplacé celui installé ailleurs vers des scripts.
xlrd (0.9.4) xlwt (1.0.0) xlutils (1.7.1)
Obtenez le nombre d'images à partir du nom de la scène dans Excel et écrivez la date du jour Enregistrez Excel avec .xls!
import xlrd
import xlwt
from xlutils.copy import copy
import maya.cmds as cmds
import os
import datetime
excel = "" #Chemin du fichier Excel
scene = os.path.splitext(cmds.file(q=True, shortName=True, sceneName=True))[0] #Obtenez le nom de la scène
read = xlrd.open_workbook(excel)
ex_row = 0 #Enregistrer la ligne qui sera mise à jour
d = datetime.datetime.today() #Obtenez la date du jour
today = d.strftime("%Y/%m/%d")
sheet_1 = read.sheet_by_index(0)
for col in range(sheet_1.ncols):
for row in range(sheet_1.nrows):
if scene == sheet_1.cell(row, col).value:
ex_row = row
print u"Cadre de départ:" + sheet_1.cell(row, 1).value + u"Cadre d'extrémité:" + sheet_1.cell(row, 2).value
continue
#Traitement de sortie, etc. si nécessaire
write = copy(read) #Copiez complètement l'objet à lire dans l'objet à écrire, y compris le style
sheet1 = write.get_sheet(0)
sheet1.write(ex_row, 3, today) #Ajouter la date du jour dans la 4e colonne
write.save(excel)
J'ai fait référence à ce domaine! http://qiita.com/koyopro/items/d8d56f69f863f07e9378
En gros, faites la même chose qu'Excel ci-dessus
gspread (0.4.1) httplib2 (0.9.2) oauth2client (4.0.0) requests (2.12.1) six (1.10.0)
import os
import datetime
import maya.cmds as cmds
import gspread
from oauth2client.file import Storage
from oauth2client.client import OAuth2WebServerFlow
flow = OAuth2WebServerFlow(client_id='identité du client',
client_secret='Secret du client',
scope='https://spreadsheets.google.com/feeds',
redirect_uri="urn:ietf:wg:oauth:2.0:oob")
scene = os.path.splitext(cmds.file(q=True, shortName=True, sceneName=True))[0]
d = datetime.datetime.today() #Obtenez la date du jour
today = d.strftime('%Y/%m/%d')
storage = Storage('cred.dat') #Fichier pour stocker les informations d'identification
credentials = storage.get()
if credentials is None or credentials.invalid == True:
authorize_url = flow.step1_get_authorize_url()
cmds.confirmDialog(m='Go to the following link in your browser: ' + authorize_url)
code = raw_input('Enter verification code: ').strip()
credential = flow.step2_exchange(code)
storage.put(credential)
credential.set_store(storage)
credentials = credential
gc = gspread.authorize(credentials)
spr = gc.open_by_key('ID de la feuille de calcul')
for j, worksheet in enumerate(spr.worksheets()):
worksheet.get_all_values()
list_of_lists = worksheet.get_all_values()
for i, l in enumerate(list_of_lists):
if l[0] == scene:
print u'Cadre de départ:' + l[1] + u'Cadre d'extrémité:' + l[2]
continue
for j, worksheet in enumerate(spr.worksheets()):
worksheet.get_all_values()
list_of_lists = worksheet.get_all_values()
for i, l in enumerate(list_of_lists):
if l[0] == scene:
worksheet.update_acell('D' + str(i+1), today)
Lorsque vous y accédez pour la première fois Parce que ce genre de chose sortira Copiez l'adresse et collez-la dans votre navigateur Lorsque vous appuyez sur confirmer avec maya, la fenêtre suivante apparaîtra, alors copiez le code du navigateur À partir de la deuxième fois, les informations de cred.dat seront consultées et consultées, ce travail ne sera donc effectué qu'une seule fois.
Cela n'a rien à voir avec Maya, mais les données de la feuille de calcul J'ai également fait quelque chose comme vérifier s'il se trouve sur le serveur de l'entreprise et mettre à jour le statut. Si vous pouvez faire diverses choses à partir de Maya, les concepteurs pourront peut-être distribuer divers outils sans abandonner Python!
Je suis désolé de ne pas avoir grand-chose à voir avec Maya Python!
Si vous voulez obtenir de l'aide d'un chat, donnez-moi un travail! !! !! !! !! !! !! Twitter: @ yukarin33
Recommended Posts