mi problema es que quiero ejecutar un archivo python con un argumento dentro de otro archivo python para obtener los valores devueltos ...cómo ejecutar un archivo de script python con un argumento desde otro archivo de script python
no sé si me he explicado bien ...
ejemplo:
de la cáscara ejecuto esto:
getCameras.py "path_to_the_scene"
y esto me devolverá una lista de cámaras .. ..
Entonces, ¿cómo puedo llamar a este script (incluido el argumento) desde otro script ???
He estado tratando de averiguar por mí mismo mediante la lectura de algunas otras preguntas aquí, pero yo no lo entendía así, debería utilizar la función execfile() ?? ¿¿cómo exactamente??
Gracias de antemano por ayudar a un novato como yo !!
Ok, después de ver sus respuestas, tengo que editar mi pregunta para hacerlo más conciso y porque no entiendo algunas respuestas (lo siento, como dije que soy un novato !!!):
Bueno, tengo estos 2 scripts "getMayaCameras.py" y "doRender.py" y uno más llamado "renderUI.py" que implementa los primeros 2 scripts en una GUI.
"getMayaCameras.py" y "doRender.py" son dos marcas que puede ejecutar directamente desde el shell del sistema agregando un argumento (o indicadores, en el caso "doRender.py") y, si es posible , Quiero seguir teniendo esta posibilidad para poder elegir entre ejecutar la interfaz de usuario o ejecutar el script directamente desde el shell
Ya he hecho algunas modificaciones para que funcionen importándolos desde el script "renderUI.py" pero ahora que no funcionan por sí mismos ....
Así es posible tener esta guiones de trabajo por sí mismos y todavía tienen la posibilidad de llamarlos de otro guión? ¿cómo exactamente? Esto "separando la lógica del manejo de argumento de línea de comando" que me dijiste antes me suena bien pero no sé cómo implementarlo en mi script (lo intenté pero sin éxito) ....
Es por eso que estoy publicando aquí el código original para que vea cómo lo hice, siéntase libre de hacer críticas y/o corregir el código para explicarme cómo debería hacerlo para que el script funcione correctamente ...
#!/usr/bin/env python
import re,sys
if len(sys.argv) != 2:
print 'usage : getMayaCameras.py <path_to_originFile> \nYou must specify the path to the origin file as the first arg'
sys.exit(1)
def getMayaCameras(filename = sys.argv[1]):
try:
openedFile = open(filename, 'r')
except Exception:
print "This file doesn't exist or can't be read from"
import sys
sys.exit(1)
cameras = []
for line in openedFile:
cameraPattern = re.compile("createNode camera")
cameraTest = cameraPattern.search(line)
if cameraTest:
cameraNamePattern = re.compile("-p[\s]+\"(.+)\"")
cameraNameTest = cameraNamePattern.search(line)
name = cameraNameTest.group(1)
cameras.append(name)
openedFile.close()
return cameras
getMayaCameras()
Gracias de nuevo,
David
No lo entiendo muy bien, ¿de esta manera sigues siendo capaz de invocar el guión con argumentos del intérprete de comandos? ... de todos modos traté de implementarlo en mi secuencia de comandos sin éxito, por favor, ¿puedes hacerlo? con el guión que dejé aquí, entonces ¿puedo usarlo como ejemplo? – user497457
no funciona ... – user1701047